我有一个Spring Boot 1.2应用程序打包为WAR,因为我需要能够在应用程序服务器中部署该应用程序。
我还想配置一个外部路径,该路径将包含要添加到类路径中的jar。阅读启动器文档后,我将构建配置为此使用PropertiesLauncher:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
...
<layout>ZIP</layout>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我尝试使用此附加系统属性的各种组合来启动应用程序: -Dloader.path=lib/,lib-provided/,WEB-INF/classes,<my additional path>
但是我总是会遇到这个错误:
java.lang.IllegalArgumentException: Invalid source folder C:\<path to my war>\<my war>.war
at org.springframework.boot.loader.archive.ExplodedArchive.<init> ExplodedArchive.java:78)
at org.springframework.boot.loader.archive.ExplodedArchive.<init>(ExplodedArchive.java:66)
at org.springframework.boot.loader.PropertiesLauncher.addParentClassLoaderEntries(PropertiesLauncher.java:530)
at org.springframework.boot.loader.PropertiesLauncher.getClassPathArchives(PropertiesLauncher.java:451)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:60)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:609)
Run Code Online (Sandbox Code Playgroud)
我查看了源代码,似乎PropertiesLauncher只能处理jar档案(以“ .jar”或“ .zip”结尾)和“爆炸的档案”(不以前者结尾)
有可能做到我想要的吗?我做错了吗?
如果不可能,那有什么选择?
spring-boot ×1