Java 用maven can';找不到配置文件
我用maven构建了一个jar文件。我正在jar文件中唯一的类中使用以下代码来尝试访问配置文件Java 用maven can';找不到配置文件,java,maven,jar,Java,Maven,Jar,我用maven构建了一个jar文件。我正在jar文件中唯一的类中使用以下代码来尝试访问配置文件 InputStream is = Myclass.class.getClassLoader().getResourceAsStream("/config.properties"); config.properties文件位于Path的jar文件中/ 我没有看到任何错误消息。但是当我尝试访问Properties对象中的值时,这些值是空的 Properties prop = new Properti
InputStream is = Myclass.class.getClassLoader().getResourceAsStream("/config.properties");
config.properties文件位于Path的jar文件中/
我没有看到任何错误消息。但是当我尝试访问Properties对象中的值时,这些值是空的
Properties prop = new Properties();
prop.load(is);
serverUrl=prop.getProperty("serverUrl");
服务器URL为空
关于如何在jar文件中获取配置文件中的值有什么建议吗?通常在maven中,您可以在src/main/resources下找到资源 然后,您可以使用类加载器访问这些资源:
try(InputStream in=Myclass.class.getClassLoader().getResourceAsStream(“config.properties”){
//剂量
}
在我意识到以下方法只适用于在类路径中加载文件之前,我也面临着同样的问题
InputStream is = Myclass.class.getClassLoader().getResourceAsStream("/config.properties");
对于拾取文件,无论它们是否在类路径中,我都使用。例如,我使用了following,它就像一个符咒
String str = FileUtils.readFileToString(new File(path_to_your_file), "UTF-8");
IOUtils.toInputStream(str, "UTF-8"); // if you need InputStream object
您可以查看too提供的其他API,而不是
readFileToString
。您应该添加错误,即您正在gettingTryMyclass.class.getClassLoader().getResourceAsStream(“config.properties”)
或将您的配置与MyClass
放在同一个包中。我看不到任何错误消息,但当我尝试访问这些值时,会出现一个空值或一个空指针,感谢您的评论!我更新了我的问题和代码以反映更改。因此,我的代码似乎可以访问该文件,但值为空。或者至少我应该我说InputStream不再为空