在来自maven依赖项时,将spring配置文件添加到类路径

时间:2012-01-12 11:13:39

标签: spring maven classpath

我有:

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仍然相对较新,但对我来说这似乎很奇怪做。

1 个答案:

答案 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以默认方式安装的话。