在我的 maven 项目中,我正在使用 m2e 不喜欢的类型 test-jar 的依赖项,并给出以下警告。
为什么"对带有类型测试罐的项目foo的依赖并不完全 支持。可能会出现类路径和/或部署问题。尝试 Maven->禁用工作区"
会出现此问题,为什么禁用工作区分辨率可以解决它?
test-jar 的问题在 Eclipse 中,请参阅错误 365419 - 集成测试的类路径
我尝试过通过下面的hack使此警告消失,但是它有一个副作用,即由于运行代码时无法正确设置时,eclipse中测试的类路径无法从eclipse运行测试。 我在这里发帖是希望有人可以改进这个黑客并使其工作。
在 pom 文件中创建配置文件在日食时处于关闭状态,但在日食之外运行 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 属性,因此警告消失。