我有一个maven项目,它加载一个xslt文件并执行转换以及对结果的其他处理。通常,当用户运行应用程序时,用户提供要加载的xslt文件路径。但是我在我的应用程序中包含了一些默认的xslt文件,用户无需加载任何外部xslt文件即可使用这些文件。我这样做是通过将它们添加到src / main / resources / xslt。我的问题是我想在测试阶段对那些xslt文件运行测试。我怎样才能做到这一点?我应该将src / main / resources / xslt内容复制到target / somewhere并在我的测试类代码中加载它们吗?哪个插件用于此?
答案 0 :(得分:17)
我的问题是我想在测试阶段针对那些xslt文件运行测试。我怎样才能做到这一点?
无所事事,target/classes
位于测试的类路径上。更准确地说,测试的类路径是:
target/test-classes
target/classes
dependencies
因此,来自src/main/resources
的资源(已复制到target/classes
)可以从测试中看到。
答案 1 :(得分:2)
如果您将文件foo.txt
放在src/test/resources/
内,可以通过以下方式打开:
// try-with-resource (Java 1.7)
try (InputStream is = getClass().getClassLoader().getResourceAsStream("foo.txt")) {
// do something with is...
}
您还可以查看maven-resources-plugin。