首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有支持Java 14的tomee插件版本?

是否有支持Java 14的tomee插件版本?
EN

Stack Overflow用户
提问于 2020-12-14 14:27:40
回答 1查看 386关注 0票数 1

我正在使用tomee plugin版本8.0.5 (在mvn存储库上的最新发现)来生成我的JSF项目的可执行Jar,

代码语言:javascript
复制
</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>

包命令运行良好,我得到了War和Jar,但是当我启动服务器时

代码语言:javascript
复制
java -jar MyJar.jar 

我使用的是Java 14,Tomee上的部署在Eclipse中运行得很好,应用程序加载会导致这个错误:

代码语言:javascript
复制
        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插件可以使用,有人有更多的信息吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 12:30:48

较早的TomEE <= 8.0.6仍在使用asm7的阴影版本,该版本对较新的Java版本的支持有限(最大)。( JDK 13)。这也会影响Tomee的几个过渡依赖项,如OWB、CXF等。

实际上,是否有一些与JDK 16相关的工作,以及为了支持下一个JDK16发行版而等待的一些打开的拉请求:

根据我的经验,TomEE 8.0.6JDK11中运行良好。所以现在,您应该使用JDK11,并等到下一个包含相关更改的TomEE发行版结束。

更新(15.04.2021)

我目前正在使用JDK-16运行一个TomEE 8.0.7-快照(Plume) (它也适用于Maven插件)。

就目前而言,下列调整是必要的:

您需要通过<lib>org.apache.openjpa:openjpa:3.1.3-SNAPSHOT</lib>删除OpenJPA 3.1.2及其在<libs>中的瞬态asm8依赖,并通过<lib>remove:openjpa</lib><lib>remove:xbean-asm8-shaded</lib>重新添加最新的3.1.3-SNAPSHOT

目前,

  1. 需要在插件配置中指定<args>--illegal-access=permit</args>,以允许一些反射和其他内容。Java 16切换了默认的.

更新(10.10.2022)

TomEE 8.0.9支持开箱即用的JDK17

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65290734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档