【问题标题】:wildfly swarm deployment crash with java 9java 9的wildfly swarm部署崩溃
【发布时间】:2018-03-09 01:14:16
【问题描述】:

打包由 wildfly swarm 生成器生成并使用 Java9 构建的 hello world 应用程序在部署应用程序时会崩溃。 似乎原因是对 org.ow2.asm:asm-all:5.0.4 的 swarm/undertow 依赖,它还没有准备好 Java9。

是否有已知的解决方法,或者 swarm 为 Java9 做好准备的已知日期?

堆栈跟踪是:

Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.wildfly.swarm.jaxrs.internal.JAXRSArchiveImpl.isJAXRS(JAXRSArchiveImpl.java:117)
at org.wildfly.swarm.jaxrs.internal.JAXRSArchiveImpl.isJAXRS(JAXRSArchiveImpl.java:96)
at org.wildfly.swarm.jaxrs.JAXRSArchive.isJAXRS(JAXRSArchive.java:55)
at org.wildfly.swarm.jaxrs.internal.DefaultJAXRSWarDeploymentFactory.create(DefaultJAXRSWarDeploymentFactory.java:46)
at org.wildfly.swarm.jaxrs.internal.DefaultJAXRSWarDeploymentFactory$Proxy$_$$_WeldClientProxy.create(Unknown Source)
org.wildfly.swarm.container.runtime.deployments.DefaultDeploymentCreator.createDefaultDeployment(DefaultDeploymentCreator.java:69)

【问题讨论】:

  • WF Swarm 目前与 JDK 8 绑定。一旦 WF 更新为支持 JDK 9,我们将效仿

标签: java java-9 wildfly-swarm


【解决方案1】:

IllegalArgumentException 可能是由不同的类版本在扫描字节码时引起的,在您的情况下是由org.ow2.asm:asm-all:5.0.4 完成的。

我们在jetty.project#1758 中遇到了类似的问题,我想通过自己构建jetty.project 来尝试解决这个问题,但最终意识到org.ow2.asm 仍然会束缚我。


maven 上的latest available version of asm 是:

<dependency>
   <groupId>org.ow2.asm</groupId>
   <artifactId>asm-all</artifactId>
   <version>6.0_BETA</version>
</dependency>

如果是码头(也可能是 swarm),他们无法集成它,因为 6.0_BETA 不是有效的OSGI 版本号

原因:java.lang.IllegalArgumentException:无效范围 "[6.0_BETA,6.0_BETA]":无效版本"6.0_BETA":非数字 "0_BETA"

与上面有关的一个read to how jetty tried solving it

ow2.asm 已经存在tracker 无效版本错误,您可以关注。

【讨论】:

    【解决方案2】:

    JDK 9 中的类文件是 v53.0,因此您需要 ASM 6。ASM 在遇到其支持的较新的类文件时总是抛出 IAE。

    【讨论】:

    猜你喜欢
    • 2015-08-05
    • 2016-07-12
    • 2018-07-26
    • 2016-11-08
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    相关资源
    最近更新 更多