java - 如何从jar外部读取资源文件

标签 java

我想读取jar外的配置文件,该怎么办?
我试过classloader.getResourceAsStream("config.xml")当我在 Intellij 中运行代码时成功了。现在我想将 jar 构建到一个文件夹中并将 config.xml 放入在同一文件夹下,而不是在 jar 内,但程序无法检测到 config.xml .

有没有一种优雅的方式来阅读 config.xml而不是使用File在代码中使用相对路径,在 IDE 中调试/运行时不起作用?

最佳答案

是的,将其转换为系统属性,并将其提供给运行任何 Java 进程/应用程序的任何内容。

假设您有一个 config.xml 文件位于 /some/path/down/the/line/ 内,那么您可以执行以下操作:java - -classpath ... -Dapp.config=/some/path/down/the/line/config.xml tld.domain.Application.

那么您在 Java 代码中所要做的就是引用该名称/路径:final String configFile = System.getProperty("app.config");,并使用任何众所周知的从那里读取它的例程。

基本上,您必须确保文件/路径/位置以某种方式提供给 Java 类路径。

关于java - 如何从jar外部读取资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57481646/

相关文章:

java - 导入中无法识别 AndroidTestCompile 依赖项

java - 使用 spring 框架将 Java 对象中的顺序保存为 json

java - 如何使用 jdom2 从子 XML 标签中获取内部文本?

java - 使用连接池时在哪里关闭连接?

java - 强制方法调用 null 变量以抛出 NullPointerException

java - Camel 路线未在 xml 文件中解析

java - Spring /thymeleaf : How to fill a list in form and append another line to the form?

java - 移动随机矩阵8*8

java - 使用java限制应用程序切换

java - 如何用 Java 编写正确的微基准测试?