亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

maven的打包assembly,shade插件使用分析

2024-11-28 09:53:15
70
0

在使用 Maven 的 Jar Plugin 打包時,如果想在生成的 JAR 包中刪除 pom.xml 中定義的依賴的內容,可以通配置 maven-jar-plugin 和 maven-dependency-plugin 來實現。這里的思路是明確打包時不包含依賴文件。下面介紹下  maven-jar-plugin和maven-dependency-plugin插件區別:

maven-jar-plugin 是 Maven 官方提供的一個插件,用于幫助項目生成 JAR 文件。JAR 文件(Java Archive)是一種用于分發 Java 類文件及相關資源的歸檔文件格式。通過該插件,開發者可以方便地控制 JAR 文件的打包內容、元數據生成,以及自定義 JAR 文件結構。maven-jar-plugin 通常用于 Java 項目的標準打包階段,可以和 Maven 生命周期集成,也可以單獨調用。

以下配置為項目生成一個簡單的 JAR 文件:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

運行 mvn clean package,默認會生成 target/<artifactId>-<version>.jar。

maven-dependency-plugin 是 Maven 提供的一個強大的插件,主要用于管理和操作項目的依賴。它允許開發者在 Maven 構建生命周期中執行各種依賴相關的任務,例如分析、下載、復制、解壓和清理依賴。這是一個通用插件,適用于所有 Maven 項目,尤其在處理依賴問題或自動化構建任務時非常有用。

以下命令將依賴的 JAR 文件或 ZIP 文件解壓到指定目錄:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.6.0</version>
            <executions>
                <execution>
                    <id>unpack-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.google.guava</groupId>
                                <artifactId>guava</artifactId>
                                <version>31.0-jre</version>
                                <type>jar</type>
                                <outputDirectory>${project.build.directory}/unpacked</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

maven-dependency-plugin 是一個靈活的插件,適用于依賴的分析、復制、解壓和清理等任務。通過結合 Maven 生命周期和其他插件,可以簡化構建和部署過程,特別是在需要處理大量依賴的復雜項目中。

maven-shade-plugin 是 Maven 提供的一個強大的插件,專門用于創建 可運行的 JAR 文件(Fat JAR 或 Uber JAR),即將項目本身的代碼和所有依賴打包到一個 JAR 文件中。它常用于需要一個獨立運行的 JAR 包場景,例如 CLI 工具、獨立服務或單機部署的 Java 程序。此外,maven-shade-plugin 還支持對依賴進行重定位(relocation)、合并資源文件(如 META-INF 中的配置文件),以避免類沖突和資源沖突。

基本配置
以下是一個最簡單的配置示例,用于將項目及其依賴打包到一個 JAR 文件中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.4.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

maven-shade-plugin 是一個功能豐富且靈活的插件,適合需要生成 Fat JAR 的場景。它的重定位和合并功能特別適合處理復雜依賴沖突和資源沖突問題。與其他插件相比,它更專注于生成單一 JAR 文件,是現代 Java 項目中非常常用的工具。

可以根據不同的打包方式選用上述的打包插件,如果需要屏蔽一些文件,可以使用一些關鍵字進行屏蔽

0條評論
作者已關閉評論
王曉昌
4文章數
0粉絲數
王曉昌
4 文章 | 0 粉絲
原創

maven的打包assembly,shade插件使用分析

2024-11-28 09:53:15
70
0

在使用 Maven 的 Jar Plugin 打包時,如果想在生成的 JAR 包中刪除 pom.xml 中定義的依賴的內容,可以通配置 maven-jar-plugin 和 maven-dependency-plugin 來實現。這里的思路是明確打包時不包含依賴文件。下面介紹下  maven-jar-plugin和maven-dependency-plugin插件區別:

maven-jar-plugin 是 Maven 官方提供的一個插件,用于幫助項目生成 JAR 文件。JAR 文件(Java Archive)是一種用于分發 Java 類文件及相關資源的歸檔文件格式。通過該插件,開發者可以方便地控制 JAR 文件的打包內容、元數據生成,以及自定義 JAR 文件結構。maven-jar-plugin 通常用于 Java 項目的標準打包階段,可以和 Maven 生命周期集成,也可以單獨調用。

以下配置為項目生成一個簡單的 JAR 文件:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

運行 mvn clean package,默認會生成 target/<artifactId>-<version>.jar。

maven-dependency-plugin 是 Maven 提供的一個強大的插件,主要用于管理和操作項目的依賴。它允許開發者在 Maven 構建生命周期中執行各種依賴相關的任務,例如分析、下載、復制、解壓和清理依賴。這是一個通用插件,適用于所有 Maven 項目,尤其在處理依賴問題或自動化構建任務時非常有用。

以下命令將依賴的 JAR 文件或 ZIP 文件解壓到指定目錄:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.6.0</version>
            <executions>
                <execution>
                    <id>unpack-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.google.guava</groupId>
                                <artifactId>guava</artifactId>
                                <version>31.0-jre</version>
                                <type>jar</type>
                                <outputDirectory>${project.build.directory}/unpacked</outputDirectory>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

maven-dependency-plugin 是一個靈活的插件,適用于依賴的分析、復制、解壓和清理等任務。通過結合 Maven 生命周期和其他插件,可以簡化構建和部署過程,特別是在需要處理大量依賴的復雜項目中。

maven-shade-plugin 是 Maven 提供的一個強大的插件,專門用于創建 可運行的 JAR 文件(Fat JAR 或 Uber JAR),即將項目本身的代碼和所有依賴打包到一個 JAR 文件中。它常用于需要一個獨立運行的 JAR 包場景,例如 CLI 工具、獨立服務或單機部署的 Java 程序。此外,maven-shade-plugin 還支持對依賴進行重定位(relocation)、合并資源文件(如 META-INF 中的配置文件),以避免類沖突和資源沖突。

基本配置
以下是一個最簡單的配置示例,用于將項目及其依賴打包到一個 JAR 文件中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.4.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

maven-shade-plugin 是一個功能豐富且靈活的插件,適合需要生成 Fat JAR 的場景。它的重定位和合并功能特別適合處理復雜依賴沖突和資源沖突問題。與其他插件相比,它更專注于生成單一 JAR 文件,是現代 Java 項目中非常常用的工具。

可以根據不同的打包方式選用上述的打包插件,如果需要屏蔽一些文件,可以使用一些關鍵字進行屏蔽

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0