Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven模块依赖关系和资源_Maven_Maven Resources Plugin - Fatal编程技术网

Maven模块依赖关系和资源

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

我有一个maven项目,比如ProjectA,在这个项目中有一个类,比如ClassA,它使用资源文件夹中的文件,我使用以下方式读取资源:

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从类路径加载它,我认为这将适用于属性文件作为其返回流,我需要实际处理该文件。您仍然可以从流中读取文件内容。如果您必须读取文件内容,请通过从流中读取文件内容编辑我的答案。