Netbeans 中的 Maven 项目 : How to add dependency to both 'Dependencies' and 'Test Dependencies' ?

标签 maven scope dependencies netbeans-7.1

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

我想为 Dependencies 添加相同的依赖项和 Test 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 存储库中.为 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 的测试包的依赖项.

关于Netbeans 中的 Maven 项目 : How to add dependency to both 'Dependencies' and 'Test Dependencies' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283681/

相关文章:

maven - 在 POM 之外定义 Maven 配置文件

Java Flat 多项目,具有快速增量编译和热代码部署 - WTP? eclipse ?主意?马文? Gradle ?

javascript - 在 Javascript 中制作数字表程序(如 12 x 1 = 12)时出现问题

maven - 将 Maven 输出发送到文件

java - javax.validation 的正确位置在哪里

Gradle:我如何按模式包含 Ivy 工件?

maven - 永久 Maven 安装

java - 从命令行(在 eclipse 之外)运行 Java 应用程序(maven 项目)时出错

javascript - 理解 React 中 array.map() 范围的问题

javascript - 告诉 TypeScript 文件将包含在脚本标签中?