Netbeans 中的 Maven 项目:如何向'Dependencies'和"测试依赖项"添加依赖项?



我在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 repo中。对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的测试包的依赖项。

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

相关内容

  • 没有找到相关文章

最新更新