Maven模块依赖关系和资源
我有一个maven项目,比如ProjectA,在这个项目中有一个类,比如ClassA,它使用资源文件夹中的文件,我使用以下方式读取资源:Maven模块依赖关系和资源,maven,maven-resources-plugin,Maven,Maven Resources Plugin,我有一个maven项目,比如ProjectA,在这个项目中有一个类,比如ClassA,它使用资源文件夹中的文件,我使用以下方式读取资源: String fileName = IPToGeoMapper.class.getResource("/resourceFile.txt").getFile(); File resourceFile = new File(fileName); 它就像魅力一样 现在,当我从这个项目中创建工件时(我尝试提取创建的jar,它在jar中打包了resourceFile
String fileName = IPToGeoMapper.class.getResource("/resourceFile.txt").getFile();
File resourceFile = new File(fileName);
它就像魅力一样
现在,当我从这个项目中创建工件时(我尝试提取创建的jar,它在jar中打包了resourceFile.txt),并将其作为其他项目(比如ProjectB)中的依赖项使用,ClassA在尝试浏览ProjectB的resourceFile.txt文件夹时不再找到resourceFile.txt
我想要最好的全局解决方案,它将在我导入从ProjectA创建的工件的所有项目中工作
处理此问题的最佳方法是什么?试试这种方法,我举了一个读取属性文件的示例
Properties propfile=新属性();
load(PropertyUtils.class.getClassLoader()
.getResourceAsStream(
“applicationprops.properties”)代码>
BufferedReader reader=new BufferedReader(new InputStreamReader(ClassA.class.getClassLoader().getResourceAsStream(“file.txt”));
StringBuilder out=新的StringBuilder();
弦线;
而((line=reader.readLine())!=null){
out.追加(行);
}
System.out.println(out.toString())//打印从输入流读取的字符串内容
reader.close()代码>尝试使用ResourceAsstreameyeah从类路径加载它,我认为这将适用于属性文件作为其返回流,我需要实际处理该文件。您仍然可以从流中读取文件内容。如果您必须读取文件内容,请通过从流中读取文件内容编辑我的答案。