簡體   English   中英

將依賴項的子集編譯到我的jar文件中

[英]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>

資料來源:

Maven-可選依賴項和依賴項排除

Maven-依賴范圍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM