我有一个file.dat
在src/main/resources
。
当我尝试测试通过jar文件加载此文件的类时,测试失败,因为它无法在路径(I/O Exception
)中找到该文件。我通过测试得到的路径是:
/home/usr/workspace/project/target/test-classes/file.dat
但是该文件不存在target/test-classes
吗?
从文件src/main/resources
将可在主程序运行时类路径,而无论是从文件src/main/resources
,并src/test/resources
会在试运行期间可在classpath。
一种检索驻留在类路径上的文件的方法是:
Object content = Thread.currentThread().getContextClassLoader().getResource("file.dat").getContent();
..的类型content
取决于文件的内容。您还可以将文件作为InputStream获取:
InputStream contentStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file.dat");
我在我的maven项目中的src/main/资源下放置了一个文件,文件名只是temp.txt. 当我试图打开文件时: 我得到一个错误: src/main/资源下的所有文件都放在maven下类路径的根文件夹中。那么为什么程序不能在这里找到文件呢?
问题内容: 我在运行以下代码时遇到问题: 从Junit @Before方法中。 这是Maven建立目标文件夹的方式吗? 问题答案: 直接访问。该目录内容被放置在你的CLASSPATH的根。 更准确地说:的内容被复制到中,因此,如果您具有以下项目结构: 它将得到以下测试CLASSPATH内容: 要实际从Java源访问文件,请使用 。
我正在尝试访问src/main/Resources/XYZ/view文件夹中的xsd,其中XYZ/view文件夹是由我创建的,文件夹具有我需要进行xml验证的abc.xsd。 当我每次尝试访问xsd时,结果为null, 我试过了, 1) 2) 以及我为获取资源或类加载器等而进行的更多跟踪。 最后我得到了xsd, 文件文件 = 新文件(新类路径资源(“/src/main/resources/XYZ/
我有一个目录结构如下的maven模块,我想在中获取的路径 我使用进行了尝试,但它给出了一个空值。 无法获取资源的路径
我正在使用gradle构建uber jar,我使用的插件https://github.com/johnrengelman/shadow 我在文件夹中有一个json文件,我在下面的代码中使用它 当我运行uber Jar时,面临以下问题 我的build.gradle是这样的
我有一个maven Spring项目,里面有文件。如何在SpringMVC控制器中读取它。 我正在使用 但是is.