Hallo zusammen,
ich versuche gerade, aus unserer Springboot Server Anwendung, die üblicherweise als WAR auf einem Tomcat deployt wird, einen Standalone Server zu machen. Jetzt habe ich schon über eine Suche bei Google gefunden, dass man bei Spring-Boot mit dem Aufruf mvn package spring-boot:repackage eine ausführbare Datei erstellen kann, die anscheinend einen Tomcat beinhaltet, der dann für den laufenden Server verwendet wird.
Am Anfang scheint auch alles richtig zu funktionieren, wenn ich die fertige Datei mit java -jar my-server.war ausführe. Sobald die Anwendung dann aber eine Verbindung zur Datenbank aufbauen soll, gibt es wohl ein Problem mit der PersistenceUnit, das weder in Eclipse, noch auf dem Tomcat jemals aufgetreten ist. Das sieht ja irgendwie so aus, als würde er die persistence.xml zwar finden können, aber der Pfad würde irgendwie so nicht erlaubt sein. Kann einer von euch etwas mit dieser Exception anfangen?
ich versuche gerade, aus unserer Springboot Server Anwendung, die üblicherweise als WAR auf einem Tomcat deployt wird, einen Standalone Server zu machen. Jetzt habe ich schon über eine Suche bei Google gefunden, dass man bei Spring-Boot mit dem Aufruf mvn package spring-boot:repackage eine ausführbare Datei erstellen kann, die anscheinend einen Tomcat beinhaltet, der dann für den laufenden Server verwendet wird.
Am Anfang scheint auch alles richtig zu funktionieren, wenn ich die fertige Datei mit java -jar my-server.war ausführe. Sobald die Anwendung dann aber eine Verbindung zur Datenbank aufbauen soll, gibt es wohl ein Problem mit der PersistenceUnit, das weder in Eclipse, noch auf dem Tomcat jemals aufgetreten ist. Das sieht ja irgendwie so aus, als würde er die persistence.xml zwar finden können, aber der Pfad würde irgendwie so nicht erlaubt sein. Kann einer von euch etwas mit dieser Exception anfangen?
Code:
org.eclipse.persistence.exceptions.PersistenceUnitLoadingException:
Exception Description: An exception was thrown while searching for persistence archives with ClassLoader: TomcatEmbeddedWebappClassLoader
context: ROOT
delegate: true
----------> Parent Classloader:
org.springframework.boot.loader.LaunchedURLClassLoader@63c12fb0
Internal Exception: Exception [EclipseLink-7357] (Eclipse Persistence Services - 3.0.2.v202107160933): org.eclipse.persistence.exceptions.ValidationException
Exception Description: URL [jar:file:/C:/SERVERTEST/my-server.war!/WEB-INF/classes!/META-INF/persistence.xml] for resource [META-INF/persistence.xml] does not belong to a valid persistence root (as per JPA Specification)
at org.eclipse.persistence.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:129)
at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.findPersistenceArchives(PersistenceUnitProcessor.java:368)
at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.findPersistenceArchives(PersistenceUnitProcessor.java:317)
at org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.findPersistenceUnitInfoInArchives(JPAInitializer.java:160)
at org.eclipse.persistence.internal.jpa.deployment.JPAInitializer.findPersistenceUnitInfo(JPAInitializer.java:145)
at org.eclipse.persistence.jpa.PersistenceProvider.createEntityManagerFactory(PersistenceProvider.java:191)
at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80)