如何解决如何使用spring-boot-maven-plugin将战争迁移到dockerfile中的分层jar
因此,我正在尝试将战争转移到分层罐中。 首先,我在pom.xml中添加配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>JAR</layout>
<layers>
<enabled>true</enabled>
</layers>
</configuration>
</plugin>
但是现在我在更改包含以下内容的dockerfile时遇到问题
...
ADD @project.build.finalName@.war /usr/local/
ADD runtime-app.jar /usr/local/
CMD exec java $JAVA_OPTS -cp @project.build.finalName@.war -Dloader.path=WEB-INF/lib-provided,WEB-INF/lib,WEB-INF/classes,runtime-app.jar -Dloader.main=org.my.app.AppApplication org.springframework.boot.loader.PropertiesLauncher
我正在使用PropertiesLauncher,因为我需要在运行时添加jar
我试图将此依赖项添加到lib文件夹中:
COPY --from=builder application/runtime-app.jar ./BOOT-INF/lib
但仍然存在一些错误
知道我该如何迁移吗?
UPDATE1
然后我也尝试:
<configuration>
<includes>
<include>
<groupId>my</groupId>
<artifactId>runtime.app</artifactId>
</include>
</includes>
<layout>JAR</layout>
<layers>
<enabled>true</enabled>
</layers>
</configuration>
但是我得到了错误:
java -Djarmode=layertools -jar target/my-app.jar list
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.NoClassDefFoundError: org/springframework/util/ClassUtils
at org.springframework.boot.loader.jarmode.JarModeLauncher.main(JarModeLauncher.java:40)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.springframework.util.ClassUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 9 more
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。