Java 无法加载app.war/jar文件中的WEB-INF/类
我有一个spring boot应用程序,它在创建持久性EntityManager工厂时出现以下错误 Persistence.createEntityManagerFactory war文件在以下目录下提供: /opt/test/app/app.war WEB-INF/类也出现在这个war文件中 但是classloader失败,出现以下错误 是否缺少任何许可Java 无法加载app.war/jar文件中的WEB-INF/类,java,javax.persistence,Java,Javax.persistence,我有一个spring boot应用程序,它在创建持久性EntityManager工厂时出现以下错误 Persistence.createEntityManagerFactory war文件在以下目录下提供: /opt/test/app/app.war WEB-INF/类也出现在这个war文件中 但是classloader失败,出现以下错误 是否缺少任何许可 oggerName="org.hibernate.orm.url" threadName="main" txnId="" HHH100000
oggerName="org.hibernate.orm.url" threadName="main" txnId="" HHH10000002: File or directory named by URL [file:/opt/test/app/app.war!/WEB-INF/classes] could not be found. URL will be ignored
java.io.FileNotFoundException: /opt/test/app/app.war!/WEB-INF/classes (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:225)
at java.util.zip.ZipFile.<init>(ZipFile.java:155)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:103)
at org.hibernate.boot.archive.internal.JarFileBasedArchiveDescriptor.resolveJarFileReference(JarFileBasedArchiveDescriptor.java:165)
at org.hibernate.boot.archive.internal.JarFileBasedArchiveDescriptor.visitArchive(JarFileBasedArchiveDescriptor.java:51)
at org.hibernate.boot.archive.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:47)
at org.hibernate.boot.model.process.internal.ScanningCoordinator.coordinateScan(ScanningCoordinator.java:75)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.prepare(MetadataBuildingProcess.java:98)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:199)
at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:34)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:165)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:114)
at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:71)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:52)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
在pom.xml中,将打包更改为jar您是如何构建
.war
文件的?war文件是使用mvn clean install构建的,并且正在作为docker映像部署。docker文件中是否有被授予的权限?我遇到了相同的消息,但我只将其视为警告,而不是错误:[WARN]2018-07-26 07:46:40253 org.hibernate.orm.url-hhh1000002:找不到由url[…]命名的文件或目录。URL将被忽略…
。我的申请似乎继续如期进行。你在这方面有什么进展吗?有人找到解决这个问题的方法或理由吗?
FROM alpine/jdk1.8:latest
RUN mkdir -p /opt/test/app
COPY app.war /opt/test/app/app.war
CMD java -jar /opt/test/app/app.war