java - 将外部属性文件添加到类路径

标签 java linux intellij-idea classpath properties-file

我的应用程序被打包到一个 jar 文件中,并使用常规的“java -jar ...”命令运行。

我在目录中有一个属性文件“myApp.properties”:/opt/myuser/resources

我想将/opt/myuser/resources 目录添加到类路径中。我相信这是有利的,因为当属性文件位于类路径上时,我可以访问源代码中的属性文件,而无需指定属性文件的完整路径(/opt/myuser/resources/myApp.properties)。这样我就可以将具有特定于环境的属性的属性文件与我的应用程序分开。

我尝试使用 Oracle 的指令(“使用 JDK 工具的 -classpath 选项”下的 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html)设置类路径,如下所示:

java -cp .:/opt/myuser/resources -jar myApp.jar

但我收到一个错误,无法打开属性文件 myApp.properties(在源代码中引用):

Caused by: java.io.FileNotFoundException: class path resource [myApp.properties] cannot be opened because it does not exist

我的处理方式是错误的吗?我应该以其他方式编辑类路径吗?

最佳答案

希望这对其他人有帮助。 我已用作 Spring Boot 的程序参数 --spring.config.location=文件:/opt/myuser/resources/myApp.properties

然后它将使用该文件。

关于java - 将外部属性文件添加到类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34517040/

相关文章:

linux - 如何将初始输入通过管道传输到随后将是交互式的进程中?

kotlin - 无法将 kotlinx 添加到新的 Kotlin/JS 项目中

JavaFX 不调用 main(String[] args) 方法

java - 如何避免递归定义的列表列表的原始类型?

java - 拦截带有继承的 Parcelable 时出现 ClassCastException

java - ELKI for OPTICS Xi - 我可以让它运行得更快吗?

java - Java中时间字符串的解析

linux - 如果在一台 x86 主机上运行 2 个 type-2 VMX hypervisor 会怎样?

linux - CentOS配置Nginx加载Laravel 5.8 Site

git - 如何在 IntelliJ 15 中执行自动 git push?