【发布时间】:2020-12-14 14:27:40
【问题描述】:
我正在使用 tomee-maven-plugin 版本 8.0.5(在 mvn 存储库中找到的最新版本)生成我的 JSF 项目的可执行 Jar,
</plugin>
<plugin>
<groupId>org.apache.tomee.maven</groupId>
<artifactId> </artifactId>
<version>8.0.5</version>
<executions>
<execution>
<id>executable-jar</id>
<goals>
<goal>exec</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
package 命令运行良好,我得到了 War 和 Jar 但是当我启动服务器时
java -jar MyJar.jar
我正在使用 Java 14 Tomee 上的部署在 Eclipse 中运行良好 , 应用加载导致这个错误:
Caused by: org.apache.openejb.OpenEJBException: Unable to create annotation scanner for web module MonProjet-0.0.1-SNAPSHOT: Unable to read class definition for gestion.controller.GuestServiceControler
at org.apache.openejb.config.DeploymentLoader.addWebModule(DeploymentLoader.java:886)
at org.apache.openejb.config.DeploymentLoader.load(DeploymentLoader.java:233)
at org.apache.tomee.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:2361)
... 44 more
Caused by: java.lang.RuntimeException: Unable to read class definition for gestion.controller.GuestServiceControler
at org.apache.xbean.finder.AnnotationFinder.readClassDef(AnnotationFinder.java:1180)
at org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:153)
at org.apache.xbean.finder.AnnotationFinder.<init>(AnnotationFinder.java:166)
at org.apache.openejb.config.FinderFactory$OpenEJBAnnotationFinder.<init>(FinderFactory.java:546)
at org.apache.openejb.config.FinderFactory.newFinder(FinderFactory.java:267)
at org.apache.openejb.config.FinderFactory.create(FinderFactory.java:80)
at org.apache.openejb.config.FinderFactory.createFinder(FinderFactory.java:69)
at org.apache.openejb.config.DeploymentLoader.addWebModule(DeploymentLoader.java:878)
... 46 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 58
at org.apache.xbean.asm7.ClassReader.<init>(ClassReader.java:195)
at org.apache.xbean.asm7.ClassReader.<init>(ClassReader.java:176)
at org.apache.xbean.asm7.ClassReader.<init>(ClassReader.java:162)
at org.apache.xbean.asm7.ClassReader.<init>(ClassReader.java:283)
at org.apache.xbean.finder.AnnotationFinder.readClassDef(AnnotationFinder.java:1176
我对此进行了研究,问题出在“org.apache.xbean.asm7”依赖项中,我试图通过强制插件使用“org.apache.xbean.asm8”来覆盖此依赖项,但它没用 并且没有其他版本的 Maven 插件可以使用 有没有人有这方面的更多信息? 谢谢
【问题讨论】:
-
我怀疑您是否会根据 tomee.apache.org/tomee-9.0/docs/java-compatibility.html 获得 JDK 12+ 的 tomee 我会说最大。 JDK11 如果真的有用的话……
-
@khmarbaise 是的,我尝试使用 JDK8 构建它,效果很好,感谢您提供的信息我不知道 Tomee 与 JDK14 不兼容 Tomcat 9 怎么样?是否有插件可以使用嵌入式 Tomcat 创建可执行 JAR?
-
Java 14 已过时。使用 Java 15 或 Java 11。
-
我怀疑 Tomee 是否可以在 JDK 15 上工作,因为它甚至不能在 JDK 14 上工作.....根据记录的内容,我不确定 100% 肯定只支持 JDK 11 (我找不到一个非常好的发布说明信息,其中已经修复了一些问题。除此之外,JEE 9 还没有完成很长时间?11 月?
标签: java maven apache-tomee