4

我在 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 测试包中的类。NetbeansMyProject为这些引用显示红色错误标志。

MyDependency已使用mvn clean install -DskipTests. MyProject仅在测试类中运行相同的命令会导致错误;非测试类编译得很好。

4

2 回答 2

3

我发现解决方案是复制 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>将指示包含源包的 jarMyDependency应用作MyProject.

但是,通过指定<type>test-jar</type>测试 jar(即包含测试包的 jar)MyDependency作为MyProject.

于 2012-02-15T11:10:09.817 回答
0

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

于 2012-02-14T20:28:24.107 回答