Ich habe eine REST-API mit WildFly-Swarm erstellt, aber wenn ich eine JAR-Datei ausführe, tritt eine InvocationTargetException auf und die JAR kann nicht ausgeführt werden.
java version :1.8.0_131 Betriebssystem: Windows 10 Version 1607
Eclipse:4.6.3
>java -jar target-swarm.jar
2017-05-06 11:23:15,594 INFO [org.wildfly.swarm](main) WFSWARM0013: Installed fraction: Logging - STABLE org.wildfly.swarm:logging:2017.4.0
2017-05-06 11:23:15,601 INFO [org.wildfly.swarm](main) WFSWARM0013: Installed fraction: Bean Validation - STABLE org.wildfly.swarm:bean-validation:2017.4.0
2017-05-06 11:23:15,603 INFO [org.wildfly.swarm](main) WFSWARM0013: Installed fraction: JAX-RS - STABLE org.wildfly.swarm:jaxrs:2017.4.0
2017-05-06 11:23:15,603 INFO [org.wildfly.swarm](main) WFSWARM0013: Installed fraction: Undertow - STABLE org.wildfly.swarm:undertow:2017.4.0
2017-05-06 11:23:15,604 WARN [org.wildfly.swarm](main) WFSWARM0013: Installed fraction: Swagger - UNSTABLE org.wildfly.swarm:swagger:2017.4.0
2017-05-06 11:23:18,790 ERROR [stderr](main) java.lang.reflect.InvocationTargetException
2017-05-06 11:23:18,792 ERROR [stderr](main) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2017-05-06 11:23:18,793 ERROR [stderr](main) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2017-05-06 11:23:18,794 ERROR [stderr](main) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2017-05-06 11:23:18,794 ERROR [stderr](main) at java.lang.reflect.Method.invoke(Unknown Source)
2017-05-06 11:23:18,795 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.MainInvoker.invoke(MainInvoker.java:39)
2017-05-06 11:23:18,796 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.Main.run(Main.java:46)
2017-05-06 11:23:18,797 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.Main.main(Main.java:37)
2017-05-06 11:23:18,797 ERROR [stderr](main) Caused by: java.lang.NoClassDefFoundError: org/wildfly/security/manager/WildFlySecurityManager
2017-05-06 11:23:18,798 ERROR [stderr](main) at org.jboss.as.server.SelfContainedContainer.start(SelfContainedContainer.java:119)
2017-05-06 11:23:18,798 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.RuntimeServer.start(RuntimeServer.java:202)
2017-05-06 11:23:18,799 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.RuntimeServer$Proxy$_$$_WeldClientProxy.start(Unknown Source)
2017-05-06 11:23:18,799 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$null$0(ServerBootstrapImpl.java:149)
2017-05-06 11:23:18,800 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.LogSilencer$SilentExecutor.execute(LogSilencer.java:60)
2017-05-06 11:23:18,802 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$bootstrap$1(ServerBootstrapImpl.java:116)
2017-05-06 11:23:18,803 ERROR [stderr](main) at org.wildfly.swarm.spi.api.ClassLoading.withTCCL(ClassLoading.java:43)
2017-05-06 11:23:18,804 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.bootstrap(ServerBootstrapImpl.java:109)
2017-05-06 11:23:18,805 ERROR [stderr](main) at org.wildfly.swarm.Swarm.start(Swarm.java:369)
2017-05-06 11:23:18,806 ERROR [stderr](main) at org.wildfly.swarm.Swarm.main(Swarm.java:611)
2017-05-06 11:23:18,807 ERROR [stderr](main) ... 7 more
2017-05-06 11:23:18,808 ERROR [stderr](main) Caused by: java.lang.ClassNotFoundException: org.wildfly.security.manager.WildFlySecurityManager from [Module "org.jboss.as.server:main" from BootModuleLoader@176d53b2 for finders [BootstrapClasspathModuleFinder, BootstrapModuleFinder(org.wildfly.swarm.bootstrap:main), ClasspathModuleFinder, ContainerModuleFinder(swarm.container:main), ApplicationModuleFinder(swarm.application:main), org.wildfly.swarm.bootstrap.modules.DynamicModuleFinder@971d0d8]]
2017-05-06 11:23:18,809 ERROR [stderr](main) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
2017-05-06 11:23:18,809 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
2017-05-06 11:23:18,812 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
2017-05-06 11:23:18,813 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
2017-05-06 11:23:18,814 ERROR [stderr](main) ... 17 more
2017-05-06 11:23:18,815 ERROR [stderr](main) Exception in thread "main" java.lang.reflect.InvocationTargetException
2017-05-06 11:23:18,816 ERROR [stderr](main) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2017-05-06 11:23:18,816 ERROR [stderr](main) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2017-05-06 11:23:18,817 ERROR [stderr](main) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2017-05-06 11:23:18,818 ERROR [stderr](main) at java.lang.reflect.Method.invoke(Unknown Source)
2017-05-06 11:23:18,819 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.MainInvoker.invoke(MainInvoker.java:39)
2017-05-06 11:23:18,822 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.Main.run(Main.java:46)
2017-05-06 11:23:18,824 ERROR [stderr](main) at org.wildfly.swarm.bootstrap.Main.main(Main.java:37)
2017-05-06 11:23:18,825 ERROR [stderr](main) Caused by: java.lang.NoClassDefFoundError: org/wildfly/security/manager/WildFlySecurityManager
2017-05-06 11:23:18,827 ERROR [stderr](main) at org.jboss.as.server.SelfContainedContainer.start(SelfContainedContainer.java:119)
2017-05-06 11:23:18,827 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.RuntimeServer.start(RuntimeServer.java:202)
2017-05-06 11:23:18,828 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.RuntimeServer$Proxy$_$$_WeldClientProxy.start(Unknown Source)
2017-05-06 11:23:18,829 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$null$0(ServerBootstrapImpl.java:149)
2017-05-06 11:23:18,830 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.LogSilencer$SilentExecutor.execute(LogSilencer.java:60)
2017-05-06 11:23:18,831 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.lambda$bootstrap$1(ServerBootstrapImpl.java:116)
2017-05-06 11:23:18,835 ERROR [stderr](main) at org.wildfly.swarm.spi.api.ClassLoading.withTCCL(ClassLoading.java:43)
2017-05-06 11:23:18,836 ERROR [stderr](main) at org.wildfly.swarm.container.runtime.ServerBootstrapImpl.bootstrap(ServerBootstrapImpl.java:109)
2017-05-06 11:23:18,837 ERROR [stderr](main) at org.wildfly.swarm.Swarm.start(Swarm.java:369)
2017-05-06 11:23:18,837 ERROR [stderr](main) at org.wildfly.swarm.Swarm.main(Swarm.java:611)
2017-05-06 11:23:18,838 ERROR [stderr](main) ... 7 more
2017-05-06 11:23:18,839 ERROR [stderr](main) Caused by: java.lang.ClassNotFoundException: org.wildfly.security.manager.WildFlySecurityManager from [Module "org.jboss.as.server:main" from BootModuleLoader@176d53b2 for finders [BootstrapClasspathModuleFinder, BootstrapModuleFinder(org.wildfly.swarm.bootstrap:main), ClasspathModuleFinder, ContainerModuleFinder(swarm.container:main), ApplicationModuleFinder(swarm.application:main), org.wildfly.swarm.bootstrap.modules.DynamicModuleFinder@971d0d8]]
2017-05-06 11:23:18,840 ERROR [stderr](main) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
2017-05-06 11:23:18,840 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
2017-05-06 11:23:18,841 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
2017-05-06 11:23:18,842 ERROR [stderr](main) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
2017-05-06 11:23:18,844 ERROR [stderr](main) ... 17 more
Wenn Sie keine Klasse haben, fügen Sie eine hinzu. Also habe ich die folgenden Abhängigkeiten zu pom.xml hinzugefügt.
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-security-manager</artifactId>
<version>1.1.2.Final</version>
</dependency>
Das Ergebnis bleibt gleich.
Versuchen Sie, in einer Linux-Umgebung zu arbeiten, indem Sie der lokalen Ausführungsumgebung folgen.
Das Ergebnis bleibt gleich.
Verdächtige die Bibliothek, die du mit Maven bekommst.
Es kam vor, dass ein Glas funktionierte, das auf einem anderen Computer erstellt wurde. Als ich also den Inhalt des Glases verglich, m2repo/org/wildfly/security/wildfly-elytron/1.0.2.Final/wildfly-elytron-1.0.2.Final.jar War auf der Binärebene anders.
Ich weiß nicht, warum es passiert ist, aber ich habe das Wildfly-Elytron in meinem lokalen Repository gelöscht und das Glas neu erstellt, und es hat funktioniert.
Die Ursache war, dass die JAR-Datei im lokalen Repository falsch war. Die Lösung besteht darin, das lokale Repository einmal zu löschen und maven erneut auszuführen.
Maven war nicht zu misstrauisch, aber er war der Schuldige. Es ist unklar, warum das lokale Repository beschädigt wurde, aber wenn Sie nicht sicher sind, was Sie tun sollen, ** vermuten Sie das lokale Repository von Maven **.