我正在 Maven 中为命令行实用程序构建程序集。我可以将它作为可执行 jar 运行,但它失败了,因为我需要从外部加载配置文件。假设以下配置,我将如何运行该 jar?
- Jar 位于/opt/myapp/lib/myapp- assembly.jar
- 配置位于/etc/myapp/config/settings.xml
- 我使用 ClassPathResource("/settings.xml") 从类路径加载代码;
感谢任何帮助!
最佳答案
我看到有两种方法可以做到这一点:
- 使用 jar 作为存档而不是可执行 jar 来启动程序,并在运行时指定主类。换句话说,执行 java -classpath/opt/myapp/lib/myapp- assembly.jar:/etc/myapp/config [主类的名称]。
- 使用 jar list 文件的 Class-Path 字段。其中的条目直接添加到运行时类路径中,并且没有什么可以阻止您指定文件系统目录而不是另一个 jar 文件。所以你的 list 将包含:类路径:/etc/myapp/config/
关于java - 使用可执行 jar 时将配置文件加载到类路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539306/