Пример TOMEE jpa-eclipselink:
https://github.com/apache/tomee/tree/trunk/examples/jpa-eclipselink
У МЕНЯ НЕ РАБОТАЕТ
EJBContainer.createEJBContainer(p) внутри класса модульного теста (MoviesTest) завершился со следующим исключением:
...
INFO - Found EjbModule in classpath: c:\users\oren\projects\test\jpa-eclipselink\target\classes
INFO - Beginning load: c:\users\oren\projects\test\jpa-eclipselink\target\classes
INFO - Configuring enterprise application: C:\Users\Oren\Projects\Test\jpa-eclipselink
INFO - Closing DataSource: movieDatabase
java.lang.NoSuchMethodError: javax.ejb.Stateful.passivationCapable()Z
at org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:1454)
at org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:456)
at org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:371)
at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:415)
at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1002)
at org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:321)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:56)
at org.superbiz.eclipselink.MoviesTest.test(MoviesTest.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Я попытался найти в Google java.lang.NoSuchMethodError: javax.ejb.Stateful.passivationCapable, но не нашел никакой подсказки.
Единственное изменение, которое я внес в пример проекта maven:
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0-6</version>
<scope>provided</scope>
</dependency>
вместо:
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
потому что первый не стал бы строить.
Может ли кто-нибудь объяснить, в чем проблема, я уже провел несколько часов без успеха.
Наилучшие пожелания