我正在使用maven-shade-plugin,我不想排除我的測試代碼,但我的測試依賴關係在陰影的jar中。我意識到我可以特別排除某些工件(如junit),但這是一個很好的工作,並且最有可能出現一些錯誤。如何從陰影的Maven jar中排除測試依賴關係?
我將minimizeJar
設置爲true,但我仍然看到我的Junit和Mockito依賴項出現。有沒有辦法通過配置排除所有測試範圍的依賴關係?
我正在使用maven-shade-plugin,我不想排除我的測試代碼,但我的測試依賴關係在陰影的jar中。我意識到我可以特別排除某些工件(如junit),但這是一個很好的工作,並且最有可能出現一些錯誤。如何從陰影的Maven jar中排除測試依賴關係?
我將minimizeJar
設置爲true,但我仍然看到我的Junit和Mockito依賴項出現。有沒有辦法通過配置排除所有測試範圍的依賴關係?
請在test
範圍檢查您的測試依賴關係:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
...
要檢查你所依賴的設置是否使用的是遮陽插件的版本中使用
mvn dependency:tree
@ryzmek這是兩件事的結合:一,有一個測試依賴項被錯誤地聲明爲編譯。二,有一個測試依賴項,其中包含.java文件的jar文件,當我看着陰影的jar時,我沒有注意到擴展名。 – AHungerArtist 2013-05-10 13:28:40
我認爲可能是這樣。這就是爲什麼我建議'dependency:tree'。這是一個非常有用的工具 – rzymek 2013-05-10 14:04:05
?你的pom是怎樣的?我用Junit創建了一個測試項目作爲測試範圍,並且陰影插件沒有將其打包。有可能一個其他lib不在測試範圍內,Junit作爲依賴項? – mszalbach 2013-05-09 20:13:46
@mszalbach這是兩件事的結合:一是,有一個測試依賴項被錯誤地聲明爲編譯。二,有一個測試依賴項,其中包含.java文件,在我看着陰影的jar時沒有注意到擴展名。所以,你是對的,測試依賴.class文件不會被打包。 – AHungerArtist 2013-05-10 13:28:04