Netbeans中的Maven项目:如何为“依赖关系”和“测试依赖关系”添加依赖关系?

时间:2012-02-14 20:25:37

标签: maven scope dependencies netbeans-7.1

我在Netbeans 7.1 IDE中有一个Maven项目。

我想为DependenciesTest Dependencies添加相同的依赖关系。

添加到一个将其从另一个中删除。

在pom.xml中复制依赖项并包含在其中一个中:

<scope>test</scope>

..也不起作用。

帮助!

更多详情:

假设我有项目MyProjectMyDependency

MyProject包含MyDependency作为默认范围(即compile范围)依赖项:

<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没有显示红色错误标志,并且这些类成功编译。

MyProjectTest Packages文件夹(即MyProject/src/test/...)中包含多个类,这些类引用MyDependency 测试包中的类。对于这些引用,Netbeans在MyProject中显示红色错误标志。

MyDependency已使用mvn clean install -DskipTests清理,构建并存储在本地Maven仓库中。对MyProject运行相同的命令只会导致测试类中的错误;非测试类编译得很好。

2 个答案:

答案 0 :(得分:2)

我发现解决方案是复制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的测试包的依赖项。

答案 1 :(得分:0)

Dependencies也会自动Test Dependencies,但不是相反。

相关问题