我正在使用 Spring Boot 构建一个软件系统来与企业软件系统交互。我的系统依赖于该企业系统中的一些 jar 和 *.ini 文件,因此我无法在 Maven 中打包所有依赖项。我希望能够将 Spring Boot 作为带有嵌入式 Tomcat 的可执行 Jar 运行。我还希望能够通过命令行设置类路径。所以像:
java -classpath /home/sleeper/thirdparty/lib -jar MyApp.jar
但是,-classpath 和-jar 不能共存。我试过“-Dloader.path”。它能够加载文件夹下的所有 jar 文件,但不能加载其他内容,例如文件夹中的 *.ini 文件。
那么有没有一种方法可以使 -classpath 与带有嵌入式 Tomcat 的 Spring 可执行 jar 一起工作?
原文由 user1670498 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你只想添加外部库,你可以使用
loader.path
属性。更新
如果您还需要从类路径中读取其他文件,则必须创建/更改应用程序的清单文件。
假设您正在从类
de.app.Application
初始化 Spring Boot 上下文。您的MANIFEST.MF
应该如下所示:您只需使用
java -Dloader.path="your-lib/" -jar MyApp.jar
启动您的应用程序。有关 MANIFEST.MF 的更多信息,请参阅 使用清单文件:基础知识。