Uploaded image for project: 'Red Hat CodeReady Studio (devstudio)'
  1. Red Hat CodeReady Studio (devstudio)
  2. JBDS-1818

Seam in EAP 5.1.1 upgraded Drools libraries - update your Project wizards

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 4.1.1.M1
    • 4.0.1.GA, 4.1.0.GA
    • drools, seam
    • None
    • Hide

      1. in JBDS 4.1.0: File->New->Seam Web Project
      2. create a WAR project called NewWebProject using Seam runtime from EAP 5.1.1 ER1
      3. notice there is no core.jar, nor ecj.jar in the lib/ folder
      4. New -> Seam Action
      5. on the NewWebProject-test project, run as -> TestNG project
      6. Notice the exception

      Show
      1. in JBDS 4.1.0: File->New->Seam Web Project 2. create a WAR project called NewWebProject using Seam runtime from EAP 5.1.1 ER1 3. notice there is no core.jar, nor ecj.jar in the lib/ folder 4. New -> Seam Action 5. on the NewWebProject-test project, run as -> TestNG project 6. Notice the exception
    • Release Notes
    • Workaround Exists
    • Hide

      Copy <eap5.1.1-installation>/seam/lib/ecj.jar to your Seam war/ear lib directory

      Show
      Copy <eap5.1.1-installation>/seam/lib/ecj.jar to your Seam war/ear lib directory

    Description

      Seam in EAP 5.1.1 upgraded Drools libraries tp 5.1.0.BRMS. Drools doesn't have anymore Eclipse Compiler aka core.jar in its dependencies, instead of it there is ecj.jar. Update your Seam Project wizards to include this jar into project classpath.

      While ecj.jar is not in classpath testng Seam action tests are throwing exception:

      WARN  [org.jboss.seam.security.permission.PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
      FAILED CONFIGURATION: @BeforeMethod begin
      org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.security.ruleBasedPermissionResolver
      	at org.jboss.seam.Component.newInstance(Component.java:2170)
      	at org.jboss.seam.contexts.Contexts.startup(Contexts.java:305)
      	at org.jboss.seam.contexts.Contexts.startup(Contexts.java:279)
      	at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:233)
      	at org.jboss.seam.contexts.ServletLifecycle.beginSession(ServletLifecycle.java:181)
      	at org.jboss.seam.mock.AbstractSeamTest.begin(AbstractSeamTest.java:898)
      	at org.jboss.seam.mock.SeamTest.begin(SeamTest.java:31)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)
      	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525)
      	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202)
      	at org.testng.internal.Invoker.invokeMethod(Invoker.java:613)
      	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846)
      	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170)
      	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
      	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
      	at org.testng.TestRunner.runWorkers(TestRunner.java:1125)
      	at org.testng.TestRunner.privateRun(TestRunner.java:749)
      	at org.testng.TestRunner.run(TestRunner.java:600)
      	at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
      	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
      	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
      	at org.testng.SuiteRunner.run(SuiteRunner.java:223)
      	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
      	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
      	at org.testng.TestNG.runSuitesSequentially(TestNG.java:995)
      	at org.testng.TestNG.runSuitesLocally(TestNG.java:920)
      	at org.testng.TestNG.run(TestNG.java:856)
      	at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:110)
      	at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
      	at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)
      Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: securityRules
      	at org.jboss.seam.Component.newInstance(Component.java:2170)
      	at org.jboss.seam.Component.getInstance(Component.java:2024)
      	at org.jboss.seam.Component.getInstance(Component.java:1986)
      	at org.jboss.seam.Component.getInstance(Component.java:1980)
      	at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
      	at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
      	at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:148)
      	at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:51)
      	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
      	at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
      	at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
      	at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:157)
      	at org.jboss.seam.Component$ELInitialValue.getValue(Component.java:2557)
      	at org.jboss.seam.Component.initialize(Component.java:1530)
      	at org.jboss.seam.Component.postConstructJavaBean(Component.java:1456)
      	at org.jboss.seam.Component.postConstruct(Component.java:1379)
      	at org.jboss.seam.Component.newInstance(Component.java:2155)
      	... 33 more
      Caused by: org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
      	at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:283)
      	at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:268)
      	at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:181)
      	at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:159)
      	at org.jboss.seam.drools.RuleBase.compileRuleBase(RuleBase.java:46)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
      	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
      	at org.jboss.seam.Component.callComponentMethod(Component.java:2275)
      	at org.jboss.seam.Component.callCreateMethod(Component.java:2198)
      	at org.jboss.seam.Component.newInstance(Component.java:2158)
      	... 49 more
      Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in the classpath
      	at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:94)
      	at org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:55)
      	at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:279)
      	... 62 more
      

      Attachments

        Issue Links

          Activity

            People

              exd-mmalina Martin Malina
              mnovotny@redhat.com Marek Novotny
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: