要創建陰影(尤伯杯)的容器,你只需要聲明樹蔭插件,在pom.xml
。
關於燈罩插件的安裝,只需在您的pom.xml
的plugins
部分聲明它即可滿足您的所有需求。 Maven插件沒有手動安裝,而是由Maven自動下載(如果尚未下載,就像依賴項一樣),存儲在本地存儲庫中,並在項目需要時使用。
至於使用它,就像其他插件一樣,通過在您的配置需求中添加<plugin>
元素,在您的pom.xml
中聲明它。這個插件不會自動執行任何操作(有的執行,有的不執行) - 必須指定要執行哪個「目標」(認爲是「類的方法」),以及在哪個「階段」(認爲構建過程的「階段」 )。除非你有奇怪的需求,否則在「包裝」階段指定「陰影」目標(見下文)。
有關更多配置可能性,請參閱shade usage頁面及其示例(尤其是selecting contents for uber jar)。這是一個簡單的例子,當你運行mvn package
時,用超級jar替換你的原始jar在target/
目錄中。它只包含運行時依賴項,而不包括測試時使用的依賴項(注意junit依賴項的<scope>
元素,它不包含在uber jar中)。
<project>
<groupId>com.sample</groupId>
<artifactId>test</artifactId>
<version>1.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.sample</groupId>
<artifactId>test-core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>