maven-assembly打包時去掉直接和間接依賴
阿新 • • 發佈:2019-02-02
使用maven package打包時會將本專案的所有依賴都打進去,這裡提供兩種去掉直接依賴和簡介依賴的方式。
如果本專案依賴了A和B,B依賴了C。
- 本專案->A
- 本專案->B->C
去掉直接依賴
當打包時如果不希望將A打進去,可以在依賴項中加入屬性,值為provided,這樣可以保證這個依賴只在編譯和測試中新增,打包時不新增。
```xml <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.11</artifactId> <version>2.0.1</version> <scope>provided</scope> </dependency> ```
去掉簡介依賴
如果想將間接依賴C去掉,可以在B的pom檔案中在C的依賴項中新增欄位,值為true。這樣在本專案中打包時就不會新增C。
```xml <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> <optional>true</optional> </dependency> ```