[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-15 Thread Richard Zowalla (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16253381#comment-16253381
 ] 

Richard Zowalla commented on OPENEJB-2136:
--

Any plans to ask the xbean-asm6 guys for faster progress? :) community needs to 
go on here and adapt their software to the upcoming Java 9 / 10 environments...

> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
>Affects Versions: 7.0.4
> Environment: OpenEJB: 7.0.4
> Java 9.0.1-U11 (Oracle)
> JUnit 4.12 and JUnit 5.0.1
> --
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-03 Thread Romain Manni-Bucau (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16237549#comment-16237549
 ] 

Romain Manni-Bucau commented on OPENEJB-2136:
-

This is not that trivial but here is the story:

- upgrading to asm6 has no blocker (= doable)
- upgrading tomee to asm6 doesnt solve this issue, you need to upgrade all the 
stack (openjpa, cxf, openejb, )
- xbean-asm6 support of java 9 is minimal (see the dev@geronimo thread where I 
explained what I did on it)
- java 9 breaks all standalone (apploader) cases "by design" and java didnt 
provide any solution to it so upgrade is not smooth + module handling will 
break with each versions the dependency handling since it will require mjar 
releases
- previous point imply that tomee will need to move to toolchain plugin to be 
able to be compiled to support libraries already moved to java 9 (like log ones)


> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
>Affects Versions: 7.0.4
> Environment: OpenEJB: 7.0.4
> Java 9.0.1-U11 (Oracle)
> JUnit 4.12 and JUnit 5.0.1
> --
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>Priority: Major
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This 

[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-03 Thread Martin Wiesner (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16237469#comment-16237469
 ] 

Martin Wiesner commented on OPENEJB-2136:
-

This issue here: https://issues.apache.org/jira/browse/WW-4866 seems to be 
closely related to the ASM-5 problem under Java 9 environments.

> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
>Affects Versions: 7.0.4
> Environment: OpenEJB: 7.0.4
> Java 9.0.1-U11 (Oracle)
> JUnit 4.12 and JUnit 5.0.1
> --
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>Priority: Major
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-03 Thread Jonathan Gallimore (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16237465#comment-16237465
 ] 

Jonathan Gallimore commented on OPENEJB-2136:
-

Yes. We need a release of the xbean-asm subproject at Geronimo, which will 
hopefully happen soon - there has been some chat about it on the mailing list 
there. Some testing has been done with some snapshots already: 
https://github.com/apache/tomee/pull/109, so hopefully the update will not be 
too bad.

> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
>Affects Versions: 7.0.4
> Environment: OpenEJB: 7.0.4
> Java 9.0.1-U11 (Oracle)
> JUnit 4.12 and JUnit 5.0.1
> --
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>Priority: Major
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-03 Thread Martin Wiesner (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16237456#comment-16237456
 ] 

Martin Wiesner commented on OPENEJB-2136:
-

Would it be possible to go for ASM v6 for next patch release 7.0.5? I mean, 
Java 9 is out and projects are trying to modernize their codebases. For our 
side here: It's a blocker in doing so.

If you need any further infos or need support in testing on the basis of 
snapshots, we are open to help and provide feedback.

> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
>Affects Versions: 7.0.4
> Environment: OpenEJB: 7.0.4
> Java 9.0.1-U11 (Oracle)
> JUnit 4.12 and JUnit 5.0.1
> --
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>Priority: Major
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OPENEJB-2136) JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under Java-9

2017-11-03 Thread Romain Manni-Bucau (JIRA)

[ 
https://issues.apache.org/jira/browse/OPENEJB-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16237450#comment-16237450
 ] 

Romain Manni-Bucau commented on OPENEJB-2136:
-

Java 9 is not yet supported by tomee - we need to upgrade ASM to v6 before.

If you have any library already upgraded to java 8 with multi-jar release 
support (META-INF/version...) or java 9 bytecode you need to exclude it from 
the scanning otherwise you will get this error.

> JUnit tests relying on 'OpenEjbContainer' and 'EJBContainerRule' fail under 
> Java-9
> --
>
> Key: OPENEJB-2136
> URL: https://issues.apache.org/jira/browse/OPENEJB-2136
> Project: OpenEJB
>  Issue Type: Bug
> Environment: JUnit 4.12 and JUnit 5.0.1
> Java 9.0.1-U11 (Oracle)
> IntelliJ 2017.2
> Maven 3.5.0, Surefire-Plugin 2.19.1
> MacOS 10.13
>Reporter: Martin Wiesner
>Priority: Major
>
> In a Java 9 environment, running a JUnit Test which is starting up an 
> OpenEjbContainer like so:
> {code:java}
> @Properties(
> @Property(
> key = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE,
> value = OpenEjbContainer.OPENEJB_EJBCONTAINER_CLOSE_SINGLE))
> public class SomeJUnitTest {
> static {
> System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
> "org.apache.openejb.client.RemoteInitialContextFactory");
> }
> @ClassRule
> public static final EJBContainerRule CONTAINER_RULE = new 
> EJBContainerRule();
> @Rule
> public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
> @TestResource
> private Context ctx;
> // test methods skipped for better readability...
> }
> {code}
> I encounter the following stacktrace which causes the test class to fail 
> immediately:
> {code:java}
> org.apache.openejb.OpenEjbContainer$InitializationException: 
> java.lang.IllegalArgumentException
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:377)
>   at 
> javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
>   at 
> org.apache.openejb.junit.jee.statement.StartingStatement.before(StartingStatement.java:96)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:30)
>   at 
> org.apache.openejb.junit.jee.statement.DecoratingStatement.evaluate(DecoratingStatement.java:32)
>   at org.junit.rules.RunRules.evaluate(RunRules.java:20)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
>   at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
>   at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
>   at 
> com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
>   at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
> Caused by: java.lang.IllegalArgumentException
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at org.apache.xbean.asm5.ClassReader.(Unknown Source)
>   at 
> org.apache.openejb.util.AnnotationFinder.readClassDef(AnnotationFinder.java:299)
>   at 
> org.apache.openejb.util.AnnotationFinder.find(AnnotationFinder.java:164)
>   at 
> org.apache.openejb.config.DeploymentLoader.checkAnnotations(DeploymentLoader.java:2088)
>   at 
> org.apache.openejb.config.DeploymentLoader.discoverModuleType(DeploymentLoader.java:1971)
>   at 
> org.apache.openejb.config.DeploymentsResolver.processUrls(DeploymentsResolver.java:361)
>   at 
> org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:257)
>   at 
> org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:705)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:471)
>   at 
> org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:277)
>   ... 11 more
> {code}
> Reproducible in several runtime environments: _IntelliJ Idea 2017_ and _Maven 
> 3.3.9_ or _Maven 3.5.0_ 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)