繁体   English   中英

如何在Java中加载资源文件?

[英]How to load resource file in Java?

我具有以下源代码结构:

src
    resources
        config.properties
        data.txt

我将这些文件复制到我的jar中,而没有变平。 所以这个jar包含resources/config.propertiesresources/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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM