繁体   English   中英

Netbeans中的Maven项目:如何将依赖项添加到“依赖项”和“测试依赖项”中?

[英]Maven project in Netbeans: How to add dependency to both 'Dependencies' and 'Test 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>

MyProjectSource Packages文件夹中包含几个类(即MyProject/src/main/... ),这些类引用MyDependency 包中的类。 这些完美地工作; Netbeans没有显示红色错误标志,并且这些类已成功编译。

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

MyDependency已使用mvn clean install -DskipTests清理,构建并存储在本地Maven存储mvn clean install -DskipTests 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 ,但不是相反。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM