2017-09-27 9 views
2

Packen eine Hallo Welt Anwendung von der Wildfly Schwarm-Generator generiert und mit Java9 erstellt Abstürze bei der Bereitstellung der Anwendung. Es scheint, dass der Grund die Schwarm/Unterstrom-Abhängigkeit zu org.ow2.asm:asm-all:5.0.4 ist, die nicht Java9 bereit ist.Wildfly Schwarm Bereitstellung Absturz mit Java 9

Gibt es eine bekannte Problemumgehung oder ein bekanntes Datum, an dem der Schwarm für Java9 bereit ist?

Der Stacktrace ist:

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 Swarm derzeit auf JDK gebunden 8. Sobald WF aktualisiert JDK 9 zu unterstützen, werden wir schauen Anzug – Ken

Antwort

2

Die Klassendateien in JDK 9 v53.0 sind, so dass Sie ASM müssen 6. ASM hat immer IAE ausgelöst, wenn Klassendateien zu begegnen, die neuer sind, die es unterstützt.

+0

Danke, auch die [Kommentar von Ken] zu folgen (https://stackoverflow.com/questions/46449735/wildfly-schwarm-deployment-crash-with-java-9 # comment79860790_46449735) machte mir alles klar. – MichaelJ

3

Die IllegalArgumentException kann möglicherweise durch unterschiedliche Klassenversion beim Scannen des Bytecodes verursacht werden, was in Ihrem Fall durch org.ow2.asm:asm-all:5.0.4 erfolgt.

Wir konfrontiert ähnliche Problem konfrontiert in jetty.project#1758, die ich versuchen würde und lösen, indem ich das jetty.project von mir selbst, aber schließlich zu realisieren, dass org.ow2.asm würde mich noch zurückketten.


Die latest available version of asm auf Maven ist:

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

Bei Anlegesteg (und wahrscheinlich auch Schwarm) sie diese nicht in der Lage war, wie 6.0_BETA zu integrieren ist keine gültige OSGI Versionsnummer:

verursacht durch: java.lang.IllegalArgumentException: ungültiger Bereich "[6.0_BETA,6.0_BETA]": ungültige Version "6.0_BETA": nicht-numerische "0_BETA"

den Stand über ein read to how jetty tried solving it.

Es ist bereits ein tracker zu dem ow2.asm Fehler der ungültigen Version, dem Sie folgen können.

Verwandte Themen