java - 使用可执行 jar 时将配置文件加载到类路径中

标签 java deployment

我正在 Maven 中为命令行实用程序构建程序集。我可以将它作为可执行 jar 运行,但它失败了,因为我需要从外部加载配置文件。假设以下配置,我将如何运行该 jar?

  1. Jar 位于/opt/myapp/lib/myapp- assembly.jar
  2. 配置位于/etc/myapp/config/settings.xml
  3. 我使用 ClassPathResource("/settings.xml") 从类路径加载代码;

感谢任何帮助!

最佳答案

我看到有两种方法可以做到这一点:

  1. 使用 jar 作为存档而不是可执行 jar 来启动程序,并在运行时指定主类。换句话说,执行 java -classpath/opt/myapp/lib/myapp- assembly.jar:/etc/myapp/config [主类的名称]。
  2. 使用 jar list 文件的 Class-Path 字段。其中的条目直接添加到运行时类路径中,并且没有什么可以阻止您指定文件系统目录而不是另一个 jar 文件。所以你的 list 将包含:类路径:/etc/myapp/config/

关于java - 使用可执行 jar 时将配置文件加载到类路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539306/

相关文章:

java - 如何跨服务器部署和管理java程序?

perl - 您是否将 Perl 应用程序开发为 CPAN 模块?

Tomcat:远程编程部署?

Java Stack - 修改堆栈中的最后一个元素

Linux上的java进程

java - 如何在 Eclipse 中指定测试类路径

java - 更改选项卡时执行某些操作

java - 无法显示生日提醒

deployment - Docker应用程序部署

asp.net - 在计算模拟器中运行 Azure Web 角色时,web.config 文件在哪里?