“src/main/resources”与“src/test/resources”
将“src/main/resources”复制到类路径以进行测试还是仅复制“src/test/resources”?使我的主要资源也成为我的测试资源的最佳方法是什么?希望避免有重复的配置文件。
你的理解是正确的。执行时mvn clean test
,所有java类、测试类、主资源和测试资源都会生成/复制到${basedir}/target/classes
和${basedir}/target/test-classes
. 它们在类路径中可用。
通常src/main/resources
是一个静态的,它将被打包到我们的工件中。无论如何,它们都是一些用例,允许参与者根据我们的工件定义他们的资源。在src/test/resources
单元测试期间来确保这一点。
不仅如此,我们还可以在 上定义任何特定的单元测试src/test/resources
,例如用于 javaee 单元测试的 arquillian 配置。
我希望这可能会有所帮助。
请注意,如果您build/resources/*
的 pom 中有一部分手动包含内容,那么这可能意味着不再包含默认的 src/main/resources(即,通过指定某些内容,您已经失去了默认值)。
所以添加这个似乎也可以解决它:
<resource>
<directory>src/main/resources</directory>
</resource>