如何在Spring(Spring引导)中将外部配置资源包括到类路径中?
我有第三方库,它是通过将属性文件放在类路径的根上配置的。该库正在使用如何在Spring(Spring引导)中将外部配置资源包括到类路径中?,spring,spring-boot,Spring,Spring Boot,我有第三方库,它是通过将属性文件放在类路径的根上配置的。该库正在使用getClass().getResourceAsStream(“/file.properties”)加载该文件。由于它是第三方,它是不可修改的。我已将该配置文件放入外部资源目录(不要与Maven或Gradle目录结构中的资源相混淆) 目录结构是这样的 如何运行/配置Spring boot以将资源目录的内容包含到类路径中,以便getResourceAsStream可以工作 在SE应用程序上,我只需使用清单中的类路径执行java-
getClass().getResourceAsStream(“/file.properties”)
加载该文件。由于它是第三方,它是不可修改的。我已将该配置文件放入外部资源
目录(不要与Maven或Gradle目录结构中的资源
相混淆)
目录结构是这样的
如何运行/配置Spring boot以将资源
目录的内容包含到类路径中,以便getResourceAsStream
可以工作
在SE应用程序上,我只需使用清单中的类路径执行java-jarmyapp.jar
,就可以了
编辑:
只需一句澄清的话-将配置文件放在项目资源(以及源代码)中没有抓住要点。我希望将配置外部化。以下是如何做到这一点: 1.-更改您的
spring boot maven插件配置
以启用spring boot属性Launcher:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
</configuration>
</plugin>
</plugins>
</build>
您应该这样启动它:
java-jar-Dloader.path=/home/user spring-ms-0.0.1-SNAPSHOT.jar
您是如何构建和运行您的应用程序的?您能展示您的项目的树结构吗?@AndyWilkinson build-gradle,run-CLIjava-jar(…)
配置应该保持外部化。这解决不了任何问题。您的假设看起来可以接受,我会尝试将其应用于Gradle,我会让您知道它是否有效。很好,我用Maven对其进行了测试,效果非常好。我想您将其应用于Gradle不会有任何问题。
/home/user/
|--- file.properties
|--- spring-mg-0.0.1-SNAPSHOT.jar