2017-09-27 53 views
2

打包野蠻羣體生成器生成的hello world應用程序,並在部署應用程序時使用Java9崩潰生成。 看起來原因是羣集/底層對org.ow2.asm:asm-all:5.0.4的依賴,這不是Java9就緒。使用java進行野蠻羣體部署崩潰9

是否有已知的解決方法,或者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) 
+1

WF羣目前被綁定到JDK 8 一旦WF被更新,以支持JDK 9,我們將看看跟風 – Ken

回答

2

在JDK 9類文件是v53.0,所以你需要遇到的類文件是新的,它支持在ASM 6. ASM始終拋出IAE。

+0

謝謝你,還有[從肯評論](https://stackoverflow.com/questions/46449735/wildfly-swarm-deployment-crash-with-java-9#comment79860790_46449735)讓我對所有事情都很清楚。 – MichaelJ

3

IllegalArgumentException可能是由不同的類版本引起的,當掃描字節碼時,這是由org.ow2.asm:asm-all:5.0.4完成的。

我們面臨的jetty.project#1758面臨類似的問題,我想通過自己構建jetty.project來嘗試解決,但最終意識到org.ow2.asm會將我鎖定回來。


在行家的latest available version of asm是:

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

在碼頭的情況下(,可能蜂擁而上以及),他們不能這樣結合起來,作爲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上面涉及到的。

已經有一個trackerow2.asm無效版本的錯誤,你可以按照。