我有:
Project
\-src/main/resources
\-src/main/java
\-src/test/resources
\-TestDataSourceContext.xml
\-src/test/java
和
DatabaseUtils
\-src/main/resources
\-src/main/java
\-src/test/resources
\-AbstractTestDataSourceContext.xml
\-src/test/java
在我的Pom for Project中,我有如下依赖关系: `
<dependencies>
<dependency>
<groupId>uk.co.domain.databaseutils</groupId>
<artifactId>DatabaseUtils</artifactId>
<version>${buildVersion}</version>
</dependency>
</dependencies>
然后在TestDataSourceContext.xml
我有:
<import resource="classpath:AbstractTestDataSourceContext.xml"/>
当我为filenotfoundexception
运行单元测试时尝试进行导入时,我得到Project
,因为AbstractTestDataSourceContext.xml
未包含在类路径中。有没有直接的方法在类路径上获取此文件?有maven选项,插件等吗?因此,当我依赖DatabaseUtils
时,我可以获取所有资源,让DatabaseUtils
打包它的资源等......我对Maven仍然相对较新,但对我来说这似乎很奇怪做。
答案 0 :(得分:1)
您通常做的是,您在范围测试中包含另一个依赖项:
<dependency>
<groupId>uk.co.domain.databaseutils</groupId>
<artifactId>DatabaseUtils</artifactId>
<version>${buildVersion}</version>
<scope>test</scope>
<type>test-jar</type>
</dependency>
它告诉maven在类路径中包含test-jar(应该称为DatabaseUtils-&lt; version&gt; -tests.jar)以运行测试(范围测试)。
这假设有一个合适的DatabaseUtils测试jar可用,如果它是由maven以默认方式安装的话。