[英]How to load resource file in Java?
我具有以下源代码结构:
src
resources
config.properties
data.txt
我将这些文件复制到我的jar中,而没有变平。 所以这个jar包含resources/config.properties
和resources/data.txt
config.properties在本地运行(Eclipse:运行方式|运行配置)并执行jar时运行良好。
private static final String CONFIGURATION_FILE_PATH = "resources/config.properties";
resourceInputStream = classLoader.getResourceAsStream(CONFIGURATION_FILE_PATH);
configurationProperties.load(resourceInputStream);
data.txt文件在本地工作(Eclipse:运行方式|运行配置),但是在执行jar时找不到。 我确实需要创建File对象,然后将其传递给第三方库。
private static final String DATA_FILE_PATH = "resources/data.txt";
URL resourceUrl = classLoader.getResource(DATA_FILE_PATH);
File file = resourceUrl == null ? null : new File(resourceUrl.getPath());
执行jar时, file
为null。
这是执行问题吗?
我从詹金斯jar /build/myapp.jar
调用了jar。 我应该为此执行设置类路径吗? 我的意思是-cp
开关..?
打开其他加载选项
如上所述, config.properties
加载良好。 我不需要我的data.txt
来加载getResource
。 我愿意接受其他方法。 只要我可以从中获取File
。
对于Java资源,必须以斜杠开始资源名称,以使其绝对或相对于Jar层次结构的顶部。
不以斜杠开头的资源名称是相对于加载它们的类的当前位置(包名称/目录)的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.