[英]Maven project in Netbeans: How to add dependency to both 'Dependencies' and 'Test Dependencies'?
我在Netbeans 7.1 IDE中有一個Maven項目。
我想在Dependencies
和Test Dependencies
添加相同的依賴項。
添加到其中一個將從另一個中刪除它。
在pom.xml中復制依賴項,並包括其中之一:
<scope>test</scope>
..也不起作用。
救命!
更多細節:
假設我有MyProject
和MyDependency
項目。
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沒有顯示紅色錯誤標志,並且這些類已成功編譯。
MyProject
在Test 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.