NetBeans中的Maven项目:如何向“依赖关系”和“测试依赖关系”添加依赖关系?
我在Netbeans 7.1 IDE中有一个Maven项目。NetBeans中的Maven项目:如何向“依赖关系”和“测试依赖关系”添加依赖关系?
我想添加相同的依赖关系到Dependencies
和Test Dependencies
。
将其添加到另一个中。
复制在pom.xml中的依赖,包括在其中的一个:
<scope>test</scope>
..doesn't工作无论是。
帮助!
更多详细信息:
假设我有项目MyProject
和MyDependency
。
MyProject
包含MyDependency
作为默认范围(即compile
范围)依赖性:
<dependencies>
<dependency>
<groupId>my.group.id</groupId>
<artifactId>AnArtifactId</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
MyProject
包含内MyDependency
源包几类在Source Packages
文件夹(即MyProject/src/main/...
),其引用类。这些工作完美; Netbeans显示没有红色错误标志,并且这些类成功编译。
MyProject
包含内MyDependency
测试包几类在Test Packages
文件夹(即MyProject/src/test/...
),其引用类。对于这些引用,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
源码包罐子应该作为的MyProject
测试包的依赖。
然而,通过指定<type>test-jar</type>
,将MyDependency
的测试罐(即含有测试包的罐)用作MyProject
的测试包的依赖关系。
Dependencies
也自动Test Dependencies
,但不是相反。
谢谢,我也这么想。那么为什么我的'Source Packages'中的类能够识别依赖关系,而'Test Packages'中的类却不能呢?这不仅仅是一个Netbeans故障,尝试在bash中使用'mvn'构建不适用于测试类:(可能是因为我已经将测试所用的引用放入了我的依赖项中的“测试包”中?项目的测试包能否在缺省依赖项下看到依赖项的测试包 compile ? –
KomodoDave
2012-02-14 20:32:48
发布您的POM文件。 – 2012-02-14 20:34:50
我不能因公司政策。不过,我已经向我的OP添加了尽可能多的其他信息,因为我觉得它们会有用。任何进一步的建议将非常感激。 – KomodoDave 2012-02-14 20:43:38