Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1068645

Summary: Web application Project with embedded rules committed to BRMS Git repository raises a java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter
Product: [Retired] JBoss BRMS Platform 6 Reporter: Ricardo Jun Taniguchi <jtaniguc>
Component: Business CentralAssignee: manstis
Status: CLOSED NOTABUG QA Contact: Jiri Locker <jlocker>
Severity: high Docs Contact:
Priority: medium    
Version: 6.0.0CC: kverlaen, mwinkler, rrajasek
Target Milestone: ER2   
Target Release: 6.0.1   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-24 18:46:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
web Application with rules embedded
none
server log none

Description Ricardo Jun Taniguchi 2014-02-21 15:23:10 UTC
Created attachment 866054 [details]
web Application with rules embedded

Description of problem:

After committing a web project with some rules and Build & Deploy it generates the java.lang.ClassNotFoundException: org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter exception. It avoids the rendering of the rules

Version-Release number of selected component (if applicable):
6.0.0.GA

How reproducible:
Always

Steps to Reproduce:
1.Create a repository for this project
2.Create a project in the repository created in the step 1
3.Clone the project into a local folder.
4.Untar jbtravel.tar.gz into the project created.
5.Push & Commit the contents of this application into Git.
6.Login to Business Central.
7.Open the project in the Authoring view
8. push the Build & Deploy button.
9. The error is presented in the Business Central error dialog box. 

Actual results:
in the Project View of the Project Explorer panel the packages/source code/rule files are not presented, but they can be accessed using the Repository View.

Expected results:
in the Project View and the Repository View of the Project Explorer panel the packages/source code/rules should be presented.


Additional info:

I'm not sure but it seems like it is a compilation issue in Drools rules embedded in this application. There are two rule files, with some rules declared in each one.

Comment 1 Ricardo Jun Taniguchi 2014-02-21 15:24:50 UTC
Created attachment 866055 [details]
server log

The last stacktrace is due to the error presented after clicking build & deploy button in the Project View.

Comment 3 manstis 2014-02-26 14:39:56 UTC
I tried to build the jbtravel project in the tar file from the CLI (i.e. outside of the workbench). I received the following errors:-

[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.jbtravel:JBTravel:1.0 (/home/manstis/Desktop/temp/jbtravel/pom.xml) has 12 errors
[ERROR]     Non-resolvable import POM: Failure to find org.jboss.bom:jboss-javaee-6.0-with-hibernate:pom:1.0.4.Final-redhat-1 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 22, column 16 -> [Help 2]
[ERROR]     Non-resolvable import POM: Failure to find org.drools:drools-bom:pom:6.0.2-redhat-2 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 43, column 16 -> [Help 2]
[ERROR]     'dependencies.dependency.version' for org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar is missing. @ line 67, column 15
[ERROR]     'dependencies.dependency.version' for org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar is missing. @ line 72, column 15
[ERROR]     'dependencies.dependency.version' for org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:jar is missing. @ line 77, column 15
[ERROR]     'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 82, column 15
[ERROR]     'dependencies.dependency.version' for org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar is missing. @ line 87, column 15
[ERROR]     'dependencies.dependency.version' for org.hibernate:hibernate-validator:jar is missing. @ line 100, column 15
[ERROR]     'dependencies.dependency.version' for org.drools:drools-compiler:jar is missing. @ line 112, column 15
[ERROR]     'dependencies.dependency.version' for org.kie:kie-api:jar is missing. @ line 117, column 15
[ERROR]     'dependencies.dependency.version' for org.kie:kie-ci:jar is missing. @ line 122, column 15
[ERROR]     'dependencies.dependency.version' for org.drools:drools-core:jar is missing. @ line 127, column 15
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

I also followed the steps you describe (making a new repository and project in the workbench, cloning, inserting jbtravel files, committing and pushing) and "Build and Deploy'ed" the resulting project in the workbench. I received the same error in the "Problems" panel.:-

org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs: [ERROR] Non-resolvable import POM: Failure to find org.jboss.bom:jboss-javaee-6.0-with-hibernate:pom:1.0.4.Final-redhat-1 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 22, column 16 [ERROR] Non-resolvable import POM: Failure to find org.drools:drools-bom:pom:6.0.2-redhat-2 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 43, column 16 [ERROR] 'dependencies.dependency.version' for org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar is missing. @ line 67, column 15 [ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar is missing. @ line 72, column 15 [ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:jar is missing. @ line 77, column 15 [ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 82, column 15 [ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar is missing. @ line 87, column 15 [ERROR] 'dependencies.dependency.version' for org.hibernate:hibernate-validator:jar is missing. @ line 100, column 15 [ERROR] 'dependencies.dependency.version' for org.drools:drools-compiler:jar is missing. @ line 112, column 15 [ERROR] 'dependencies.dependency.version' for org.kie:kie-api:jar is missing. @ line 117, column 15 [ERROR] 'dependencies.dependency.version' for org.kie:kie-ci:jar is missing. @ line 122, column 15 [ERROR] 'dependencies.dependency.version' for org.drools:drools-core:jar is missing. @ line 127, column 15.

Please advise what additional Maven repositories I need to configure in my local settings.xml in order to be able to build this project (anywhere!).

That said, I can explain the error you report. If you use a Class X that had a compile-time dependency on Class Y, then when you try to use Class X in a project without Class Y available (e.g. it was a "provided" dependency in your project) you'll get the error.

The way (and exact message) this error is presented to users now has changed (there was another Bugzilla for a similar issue). It does not prevent the project from being built and is now shown as a warning in the "Problems" panel (that, in the example given, Class X will be unavailable for Rule Authoring as Class Y was unavailable).

Can you please try again with the latest release (coming end of February?)

Comment 4 Ricardo Jun Taniguchi 2014-02-28 12:45:21 UTC
Hi,

Sorry, I have forgotten to add the repositories used in my environment:

   <profile>
          <id>jboss-ip-repository</id>
          <repositories>
              <repository>
                  <id>jboss-ip-repository</id>
                  <url>http://maven.repository.redhat.com/techpreview/ip6/6.0.0.Beta/maven-repository/</url>
                  <releases>
                      <enabled>true</enabled>
                  </releases>
                  <snapshots>
                      <enabled>false</enabled>
                  </snapshots>
              </repository>
          </repositories>
          <pluginRepositories>
              <pluginRepository>
                  <id>jboss-ip-repository</id>
                  <url>http://maven.repository.redhat.com/techpreview/ip6/6.0.0.Beta/maven-repository/</url>
                  <releases>
                      <enabled>true</enabled>
                  </releases>
                  <snapshots>
                      <enabled>false</enabled>
                  </snapshots>
              </pluginRepository>
          </pluginRepositories>
      </profile>

They are the Maven repos from Red Hat to store the dependencies used in EAP releases.


I'll test it later with the latest release.

Comment 5 Ricardo Jun Taniguchi 2014-02-28 12:46:38 UTC
      <profile>
          <id>redhat-techpreview-all-repository</id>
          <repositories>
              <repository>
                  <id>redhat-techpreview-all-repository</id>
                  <name>Red Hat Tech Preview repository (all)</name>
                  <url>http://maven.repository.redhat.com/techpreview/all/</url>
                  <layout>default</layout>
                  <releases>
                      <enabled>true</enabled>
                      <updatePolicy>never</updatePolicy>
                  </releases>
                  <snapshots>
                      <enabled>false</enabled>
                      <updatePolicy>never</updatePolicy>
                  </snapshots>
              </repository>
          </repositories>
          <pluginRepositories>
              <pluginRepository>
                  <id>redhat-techpreview-all-repository</id>
                  <name>Red Hat Tech Preview repository (all)</name>
                  <url>http://maven.repository.redhat.com/techpreview/all/</url>
                  <layout>default</layout>
                  <releases>
                      <enabled>true</enabled>
                      <updatePolicy>never</updatePolicy>
                  </releases>
                  <snapshots>
                      <enabled>false</enabled>
                      <updatePolicy>never</updatePolicy>
                  </snapshots>
              </pluginRepository>
          </pluginRepositories>
      </profile>

Comment 6 Marek Winkler 2014-03-24 18:46:24 UTC
According to Mike's comment, this seems not to be a bug. Please re-open if testing with the latest release reveals any problems.

Please note, that the handling of project dependencies seems not to work flawlessly, I have filed a separate issue for that (BZ 1080121).