如何使用 Spring Boot 将目录首先放在类路径上?

How to put a directory first on the classpath with Spring Boot?

我正在使用 Maven 构建我的 Spring Boot 应用程序,因此我可以使用以下命令启动它:

1
java -jar myjar-1.0-SNAPSHOT.jar --spring.profiles.active=prod

我想在类路径上首先有一个目录,这样我就可以在文件系统上放置一些文件,而不必解压缩 jar 来更改它们。

我尝试过使用 loader.path,但它似乎不起作用。

1
java -Dloader.path="config/*" -jar myjar-1.0-SNAPSHOT.jar --spring.profiles.active=prod

config 目录是 jar 所在位置的子目录。我正在尝试加载在我的应用程序中作为 Resource 注入的密钥库文件。在 src/main/resources 中有这样一个文件,但它只在我的 IDE 中有效,在打包为 jar 时无效。所以我想先在类路径中放置一个文件,以便在类路径中首先找到该文件。


您可以使用 loader.path,但前提是 Main-ClassPropertiesLauncher(因此这取决于您如何构建 JAR 文件)。也许您需要在 Boot 插件中使用 packaging=ZIP 重新构建 JAR(例如此处的文档)?您不能将密钥库的路径设置为"文件:"URL 吗?