我在我的maven项目中的src/main/资源下放置了一个文件,文件名只是temp.txt.
当我试图打开文件时:
BufferedReader br = new BufferedReader(new FileReader(new File("./temp.txt")));
我得到一个错误:
Exception in thread "main" java.io.FileNotFoundException: \temp.txt
src/main/资源下的所有文件都放在maven下类路径的根文件夹中。那么为什么程序不能在这里找到文件呢?
在Jenkins中设置集成测试时出现此问题。
问题是由于作业位于名称中有空格的文件夹中。因此,Jenkins创建了foo bar
而不是名为foo bar
的工作区文件夹,并且FileNotFoundException
的测试都失败了。解决方案只是重命名您的文件夹,使其没有任何空格。
只需将此作为您的路径:
BufferedReader br = new BufferedReader(new FileReader(new
File("src/main/resources/temp.txt")));
如果要将文件打包到类路径中,请将其原样读取。。从类路径。
Maven结构
src
main
resources
file.txt
生成后,文件将被放置在类路径的根目录中。所以使用
InputStream is = getClass().getResourceAsStream("/file.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
file.txt
前面的/
将从类所在的任何包中将您带到根。
使现代化
测试示例
package com.underdogdevs.stackoverflow;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class TestResourceFile {
public static void main(String[] args) throws IOException {
InputStream is = TestResourceFile.class.getResourceAsStream("/test.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
我正在为我的maven项目添加一个可执行的jar测试。我已经编辑了pom文件,以使用src/main/resources中的一个主类。但是,当我尝试运行jar时,它找不到我的主类。有什么想法吗?
我有一个目录结构如下的maven模块,我想在中获取的路径 我使用进行了尝试,但它给出了一个空值。 无法获取资源的路径
我有一个maven Spring项目,里面有文件。如何在SpringMVC控制器中读取它。 我正在使用 但是is.
问题内容: 在我的Maven项目中,我在src / main / resources中有一个xls文件。当我这样阅读时: 一切都好。 但是我想使用getResourceAsStream将其作为InputStream读取。当我执行此操作时,无论是否使用斜线,我总会得到NPE。 不管斜线是否存在,或者如果我使用getClassLoader()方法,我仍然会得到一个NullPointer。 我也尝试过这
我为每个生成环境都有一个自定义属性文件夹。我已经为它定义了配置文件并添加了不同的文件夹。它们会被正确地捡起来。但是,src/main/resources中的资源没有被拾取。如果netbeans 8有什么不同的话,我会使用它。我的问题是一旦激活了不同的概要文件,是否需要在概要文件中重新指定主要资源或测试资源?多谢了。 我正在使用Maven开发一个java web项目。有一些web服务的xml文件(h
我对Maven声纳设置有问题。我需要在src/main/java和src/main/resources中包含我的所有项目文件,以便SonarQube将显示所有文件的结果,但排除src/main/resources/static/file中的一些文件。对于测试路径,它已经在src/test/java中默认设置 但是当我用命令提示符运行我的maven-sonar时:mvn Sonar:Sonar。有这