繁体   English   中英

无法在Maven资源中检索属性文件

[英]Can't retrieve properties file in maven resources

public class LanguageUtil {

    public static Properties properties = new Properties();

    private void loadLanguageConfig(String filename) {

        try {
            String resourceName = "lang\\" + filename; 
            ClassLoader loader = Thread.currentThread().getContextClassLoader();
            try(InputStream resourceStream = loader.getResourceAsStream(resourceName)) {
                properties.load(resourceStream);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

错误:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at <package>.testing.Main.main(Main.java:26)
Caused by: java.lang.NullPointerException
        at java.util.Properties$LineReader.readLine(Unknown Source)
        at java.util.Properties.load0(Unknown Source)
        at java.util.Properties.load(Unknown Source)
        at <package>.LanguageUtil.loadLanguageConfig(LanguageUtil.java:19)
        ... 5 more

第19行是“ properties.load(resourceStream);”。

我正在尝试从maven创建的资源文件夹中的“ lang”文件夹中检索文件。 构建jar时,我打开jar并找到lang文件夹以及lang文件夹中的文件。

编辑:谢谢https://stackoverflow.com/users/679824/krishnan-mahadevan的帮助! 将文件夹路径“ lang \\”更改为“ lang /”可解决此问题。

通过将“ lang \\”重命名为“ lang /”来解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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