Java 用maven can';找不到配置文件

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

我用maven构建了一个jar文件。我正在jar文件中唯一的类中使用以下代码来尝试访问配置文件

 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

。您应该添加错误,即您正在gettingTry
Myclass.class.getClassLoader().getResourceAsStream(“config.properties”)
或将您的配置与
MyClass
放在同一个包中。我看不到任何错误消息,但当我尝试访问这些值时,会出现一个空值或一个空指针,感谢您的评论!我更新了我的问题和代码以反映更改。因此,我的代码似乎可以访问该文件,但值为空。或者至少我应该我说InputStream不再为空