Das WAR ist ein ZIP. Das kannst du als ZIP öffnen und reinschauen
Announcement
Collapse
No announcement yet.
Einfacher HelloWorld-Webservice mit Jakarta, Java14 und TomEE unter Eclipse
Collapse
X
-
Hallo Christian,
ich hab mir das Deployment jetzt nochmal genauer angeschaut. Eclipse verwendet wohl nicht die location die man als Installationsverzeichnis des TomEE angibt, sondern macht das dann wohl irgendwo temporär.
Ich habe das Projekt nun als WAR exportiert und mal reingeschaut. Statische HTML-Seite ist da und auch die beiden class-Dateien. Dann habe ich den TomEE per CommandLine gestartet und über den integrieren AppManager das WAR file deployed. Jetzt konnte ich in dem Log-Verzeichnis auch was finden. Folgendes habe ich in der Datei cataline.out gefunden was auch vermutlich das Problem ist:
07-Mar-2021 14:47:47.668 SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invo ke Fehler beim deployen des Web-Applikationsarchivs [/srv/apache-tomee-9.0.0-M2-plus/apache-tomee-plus-9.0.0-M2/webapps/Test2.war]
java.lang.IllegalStateException: Error starting child
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:705)
at org.apache.catalina.startup.HostConfig.deployWAR(H ostConfig.java:978)
at org.apache.catalina.startup.HostConfig$DeployWar.r un(HostConfig.java:1848)
at java.base/java.util.concurrent.Executors$RunnableAdapter.cal l(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav a:264)
at org.apache.tomcat.util.threads.InlineExecutorServi ce.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submi t(AbstractExecutorService.java:118)
at org.apache.catalina.startup.HostConfig.deployWARs( HostConfig.java:773)
at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:427)
at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1576)
at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecyc leEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInt ernal(LifecycleBase.java:423)
at org.apache.catalina.util.LifecycleBase.setState(Li fecycleBase.java:366)
at org.apache.catalina.core.ContainerBase.startIntern al(ContainerBase.java:936)
at org.apache.catalina.core.StandardHost.startInterna l(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild. call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild. call(ContainerBase.java:1374)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav a:264)
at org.apache.tomcat.util.threads.InlineExecutorServi ce.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submi t(AbstractExecutorService.java:140)
at org.apache.catalina.core.ContainerBase.startIntern al(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInter nal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:183)
at org.apache.catalina.core.StandardService.startInte rnal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInter nal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:738)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invo ke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl. invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:342)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:473)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Test2]]
at org.apache.catalina.util.LifecycleBase.handleSubCl assException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:717)
... 37 more
Caused by: org.apache.tomee.catalina.TomEERuntimeException: org.apache.openejb.OpenEJBException: Unable to create annotation scanner for web module Test2: Unable to read class definition for controller.HelloWorld
at org.apache.tomee.catalina.TomcatWebAppBuilder.load Application(TomcatWebAppBuilder.java:2363)
at org.apache.tomee.catalina.TomcatWebAppBuilder.star tInternal(TomcatWebAppBuilder.java:1198)
at org.apache.tomee.catalina.TomcatWebAppBuilder.conf igureStart(TomcatWebAppBuilder.java:1131)
at org.apache.tomee.catalina.GlobalListenerSupport.li fecycleEvent(GlobalListenerSupport.java:134)
at org.apache.catalina.util.LifecycleBase.fireLifecyc leEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInte rnal(StandardContext.java:5044)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:183)
... 38 more
Caused by: org.apache.openejb.OpenEJBException: Unable to create annotation scanner for web module Test2: Unable to read class definition for controller.HelloWorld
at org.apache.openejb.config.DeploymentLoader.addWebM odule(DeploymentLoader.java:886)
at org.apache.openejb.config.DeploymentLoader.load(De ploymentLoader.java:233)
at org.apache.tomee.catalina.TomcatWebAppBuilder.load Application(TomcatWebAppBuilder.java:2361)
... 44 more
Caused by: java.lang.RuntimeException: Unable to read class definition for controller.HelloWorld
at org.apache.xbean.finder.AnnotationFinder.readClass Def(AnnotationFinder.java:1180)
at org.apache.xbean.finder.AnnotationFinder.<init>(An notationFinder.java:153)
at org.apache.xbean.finder.AnnotationFinder.<init>(An notationFinder.java:166)
at org.apache.openejb.config.FinderFactory$OpenEJBAnn otationFinder.<init>(FinderFactory.java:546)
at org.apache.openejb.config.FinderFactory.newFinder( FinderFactory.java:267)
at org.apache.openejb.config.FinderFactory.create(Fin derFactory.java:80)
at org.apache.openejb.config.FinderFactory.createFind er(FinderFactory.java:69)
at org.apache.openejb.config.DeploymentLoader.addWebM odule(DeploymentLoader.java:878)
... 46 more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 58
at org.apache.xbean.asm7.ClassReader.<init>(ClassRead er.java:195)
at org.apache.xbean.asm7.ClassReader.<init>(ClassRead er.java:176)
at org.apache.xbean.asm7.ClassReader.<init>(ClassRead er.java:162)
at org.apache.xbean.asm7.ClassReader.<init>(ClassRead er.java:283)
at org.apache.xbean.finder.AnnotationFinder.readClass Def(AnnotationFinder.java:1176)
... 53 more
Kannst du damit was anfangen??
Comment
-
Unsupported class file major version 58
Die Javaversion mit der die Klasse erstellt wurde, ist eine andere (höhere) als die, die mit dem Server läuft
https://www.baeldung.com/java-lang-u...edclassversionChristian
Comment
-
Hm, wundert mich etwas. Mit "catalina.sh version" bekomme ich "JVM Version: 14.0.1+7"
und unter den Properties für das Projekt habe ich als Runtime Environment den TomCat mit "jdk-14.0.1" konfiguriert.
Gucke bzw. konfiguriere ich da an den falschen Stellen?? Kann ich die Java-Version mit der ich die Klassen im WAR-File kompiliert habe sonst noch irgenwie herausfinden??
Comment
-
Ok, ich starte den TomEE Server mit dem startup.sh Skript. Dabei bekomme ich folgendes ausgegeben:
Using JRE_HOME: /lib/jvm/usrdefault-java
Lasse ich mir die Java-Version mit "/usr/lib/jvm/default-java/bin/java --version" ausgeben bekomme ich folgendes:
openjdk 14.0.1 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7)
OpenJDK 64-Bit Server VM (build 14.0.1+7, mixed mode, sharing)
Damit müsste doch der TomEE inklusive des darauf installierten WAR-File unter Java 14.0.1 laufen, oder??
Comment
-
Ha, jetzt läuft's. Die Java-Version war die richtige Spur.
Ein paar Libraries vom TomEE 9 laufen einfach nicht mit Java 14. (https://lenient.dev/java/error/unsup...or-version-58/).
Ich hab jetzt alle JDK's runtergeschmissen und nur noch die empfohlene Version 8 installiert (vielleicht hätte ich da mal vorher genauer lesen müssen....)
Mit den entsprechenden Anpassungen am Projekt läuft die Sache jetzt auch aus Eclipse heraus.
Danke für deine Tipps, die mich in die richtige Richtung gebracht haben. Bewundernswert wie viel Zeit sich manche nehmen um anderen zu helfen.
Comment
Comment