不完全支持使用类型test-jar对项目foo的依赖性。

时间:2013-01-30 17:19:43

标签: eclipse maven m2e

在我的maven项目中,我使用的是类型为test-jar的依赖项,m2e不喜欢并给出以下警告。

  

“使用类型test-jar对项目foo的依赖性并不完全   支持的。可能会出现类路径和/或部署问题。尝试   Maven->禁用工作区“

为什么会出现此问题,为什么禁用工作区解析会修复它?

2 个答案:

答案 0 :(得分:3)

test-jar的问题在于Eclipse,请参阅Bug 365419 - Classpath for Integration Test

答案 1 :(得分:3)

我已经尝试使用下面的hack消除这个警告,但它有副作用使得无法运行eclipse中的测试,因为在运行代码时,eclipse中的测试的类路径没有正确设置。我发帖在这里,希望有人可以改善这种黑客并让它发挥作用。

在eclipse中创建一个pom文件中的配置文件,但在eclipse外运行maven时会自动打开。

<profiles>
        <profile>
            <id>test-jars</id>
            <activation>
                <property>
                    <name>!m2e.version</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.example</groupId>
                    <artifactId>foo</artifactId>
                    <version>${project.version}</version>
                    <type>test-jar</type>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>com.example</groupId>
                    <artifactId>bar</artifactId>
                    <version>${project.version}</version>
                    <type>test-jar</type>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

在eclipse中定义了m2e.version属性,因此m2e忽略了test-jar依赖项,并且没有生成警告。但是,当在命令行上运行maven时,配置文件会激活,因为没有m2e.version属性,因此警告消失。