[英]Compile subset of dependencies into my jar file
我有一個具有多個Maven依賴項的項目,並希望最小化我已編譯JAR的大小。 現在看來,即使我只使用了一小部分功能,IntelliJ仍將所有外部依賴關系源文件編譯到我的JAR中。
我只想包含模塊直接使用的文件。
您可以將依賴項聲明為可選:
<dependencies>
<dependency>
<groupId>sample.dependency</groupId>
<artifactId>small-dependency</artifactId>
<version>1.0</version> <!-- Will be packaged in JAR -->
</dependency>
<dependency>
<groupId>sample.dependency</groupId>
<artifactId>really-big-dependency</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
</dependencies>
另一種方法是使用provided
范圍。 如果您知道依賴關系將包含在運行JAR的應用程序的類路徑中(例如,Web或Java EE容器),則使用provided
的區別:
<dependencies>
<dependency>
<groupId>sample.dependency</groupId>
<artifactId>small-dependency</artifactId>
<version>1.0</version> <!-- Will be packaged in JAR -->
</dependency>
<dependency>
<groupId>sample.dependency</groupId>
<artifactId>really-big-dependency</artifactId>
<version>1.0</version>
<scope>provided</scope> <!-- Will not be packaged in JAR, needs to be provided in classpath at runtime -->
</dependency>
</dependencies>
資料來源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.