如何使用Spring Boot将目录放在classpath上?

时间:2014-05-02 12:04:40

标签: spring-boot

我正在使用Maven构建我的Spring Boot应用程序,所以我可以用它来启动它:

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

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

我尝试过使用loader.path,但似乎无效。

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

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

1 个答案:

答案 0 :(得分:6)

您可以使用loader.path,但前提是Main-ClassPropertiesLauncher(因此,这取决于您构建JAR文件的方式)。也许您需要在Boot插件中使用packaging = ZIP重新构建JAR(例如docs here)?您是否可以将密钥库的路径设置为“file:”URL?