我在Netbeans 7.1 IDE中有一个Maven项目.
我想为依赖项和测试依赖项添加相同的依赖项.
添加到一个将其从另一个中删除.
复制pom.xml中的依赖项并包含在其中一个中:
<scope>test</scope>
..也不起作用.
救命!
更多细节:
假设我有项目MyProject和MyDependency.
MyProject包含MyDependency作为默认范围(即编译范围)依赖项:
<dependencies>
<dependency>
<groupId>my.group.id</groupId>
<artifactId>AnArtifactId</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
MyProject在Source Packages文件夹中包含几个类(即MyProject / src / main / …),它们引用MyDependency源包中的类.这些工作完美; Netbeans没有显示红色错误标志,并且这些类成功编译.
MyProject包含Test Packages文件夹中的几个类(即MyProject / src / test / …),它们引用MyDependency测试包中的类. Netbeans在MyProject中显示这些引用的红色错误标志.
MyDependency已使用mvn clean install -DskipTests清理,构建并存储在本地Maven仓库中.为MyProject运行相同的命令只会导致测试类中的错误;非测试类编译正常.
最佳答案 我发现解决方案是复制pom依赖项,如下所示:
<dependencies>
<dependency>
<groupId>my.group.id</groupId>
<artifactId>AnArtifactId</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>my.group.id</groupId>
<artifactId>AnArtifactId</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>test</scope>
<type>test-jar</type>
</dependency>
</dependencies>
仅指定< scope> test< / scope>表示包含MyDependency源包的jar应该用作MyProject测试包的依赖项.
但是,通过指定< type> test-jar< / type> MyDependency的测试jar(即包含测试包的jar)用作MyProject测试包的依赖项.