簡體   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