最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

減小Maven項目生成的JAR包體積實現(xiàn)提升運維效率

 更新時間:2024年10月24日 09:24:18   作者:知楠行易  
在Maven構(gòu)建Java項目過程中,減小JAR包體積可通過排除不必要的依賴和使依賴jar包獨立于應(yīng)用jar包來實現(xiàn),在pom.xml文件中使用<exclusions>標(biāo)簽排除不需要的依賴,有助于顯著降低JAR包大小,此外,將依賴打包到應(yīng)用外,可減少應(yīng)用包的體積

在使用 Maven 構(gòu)建 Java 項目時,有時需要減小生成的 JAR 包的體積,以提高部署效率或減少資源消耗。

以下是一些有效的方法來減小 JAR 包的體積:

  1. 排除不必要的依賴
  2. 打包時,依賴jar包獨立于應(yīng)用jar包

1. 排除不必要的依賴

通過排除項目中不需要的依賴,可以顯著減小 JAR 包的體積。

在 pom.xml 中,可以在 標(biāo)簽中使用 標(biāo)簽來排除特定的依賴。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.5.4</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 其他依賴項 -->
</dependencies>

2. 依賴jar包獨立于應(yīng)用jar包

一般來講依賴不會經(jīng)常變化,所以將 依賴 打包到應(yīng)用外是個好主意,可以有效的減小應(yīng)用包。

pom.xml 配置如下:

<!-- 打包時 依賴獨立于項目jar包-->
<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.2.0</version>
      <configuration>
          <archive>
              <manifest>
                  <addClasspath>true</addClasspath>
                  <classpathPrefix>lib/</classpathPrefix>
                  <mainClass>com.github.nan.web.NanWebApplication</mainClass>
              </manifest>
          </archive>
      </configuration>
  </plugin>
  <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>3.1.2</version>
      <executions>
          <execution>
              <id>copy-dependencies</id>
              <phase>package</phase>
              <goals>
                  <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                  <outputDirectory>${project.build.directory}/lib</outputDirectory>
                  <includeScope>runtime</includeScope>
              </configuration>
          </execution>
      </executions>
  </plugin>

注意:

  • 第一部署應(yīng)用 或者依賴有更新時
  • 需要把依賴(lib)也上傳到服務(wù) 

效果如下:

├── target
│   ├── classes
│   ├── generated-sources
│   ├── lib
│   ├── maven-archiver
│   ├── maven-status
│   └── web-0.0.1-SNAPSHOT.jar

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 微信APP支付Java代碼

    微信APP支付Java代碼

    這篇文章主要為大家詳細(xì)介紹了微信APP支付Java代碼,感興趣的小伙伴們可以參考一下
    2016-07-07
  • IDEA 控制臺中文亂碼4種解決方案

    IDEA 控制臺中文亂碼4種解決方案

    IntelliJ IDEA 如果不進(jìn)行相關(guān)設(shè)置,可能會導(dǎo)致控制臺中文亂碼、配置文件中文亂碼等問題,本文主要介紹了IDEA控制臺中文亂碼4種解決方案,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • springBoot 過濾器去除請求參數(shù)前后空格實例詳解

    springBoot 過濾器去除請求參數(shù)前后空格實例詳解

    這篇文章主要為大家介紹了springBoot 過濾器去除請求參數(shù)前后空格實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Swing圖形界面實現(xiàn)可動態(tài)刷新的驗證碼

    Swing圖形界面實現(xiàn)可動態(tài)刷新的驗證碼

    這篇文章主要為大家詳細(xì)介紹了Swing圖形界面實現(xiàn)可動態(tài)刷新的驗證碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java中調(diào)用GDAL DLL的實現(xiàn)方法

    java中調(diào)用GDAL DLL的實現(xiàn)方法

    本篇文章是對java中調(diào)用GDAL DLL的實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Java中數(shù)組與棧和堆之間的關(guān)系說明

    Java中數(shù)組與棧和堆之間的關(guān)系說明

    文章講解了Java數(shù)組的初始化方式、內(nèi)存存儲機制、引用傳遞特性及遍歷、排序、拷貝技巧,強調(diào)引用數(shù)據(jù)類型方法調(diào)用時形參可能修改實參,但需注意引用指向單一對象的特性
    2025-08-08
  • 深入講解java線程與synchronized關(guān)鍵字

    深入講解java線程與synchronized關(guān)鍵字

    Java 中多線程的同步依靠的是對象鎖機制,synchronized關(guān)鍵字就是利用了封裝對象鎖來實現(xiàn)對共享資源的互斥訪問。下面這篇文章主要介紹了java線程與synchronized關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下。
    2017-03-03
  • 剖析Java中在Collection集合中使用contains和remove為什么要重寫equals

    剖析Java中在Collection集合中使用contains和remove為什么要重寫equals

    這篇文章主要介紹了Collection集合的contains和remove方法詳解remove以及相關(guān)的經(jīng)驗技巧,通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • mybatis?返回Map類型key默認(rèn)為大寫問題

    mybatis?返回Map類型key默認(rèn)為大寫問題

    這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot使用Spring AI集成本地Ollama實現(xiàn)AI快速對話的完整示例

    SpringBoot使用Spring AI集成本地Ollama實現(xiàn)AI快速對話的完整示例

    在實際開發(fā)中,我們經(jīng)常需要在本地運行大模型進(jìn)行測試和開發(fā),雖然阿里云百煉等云平臺提供了便捷的API服務(wù),但在一些場景中,本地Ollama是更好的選擇,因此本文給大家詳細(xì)介紹了SpringBoot使用Spring AI集成本地Ollama實現(xiàn)AI快速對話的完整示例,需要的朋友可以參考下
    2026-06-06

最新評論

尉氏县| 湘西| 静安区| 康保县| 友谊县| 府谷县| 龙陵县| 宝坻区| 五大连池市| 宁陕县| 庐江县| 尖扎县| 长武县| 门头沟区| 卢湾区| 宁明县| 铜鼓县| 通河县| 通河县| 建始县| 大冶市| 交城县| 丹棱县| 亳州市| 贵溪市| 治多县| 禄丰县| 无棣县| 酒泉市| 连云港市| 三都| 民县| 洛宁县| 嘉鱼县| 兴山县| 大名县| 新密市| 寿光市| 廉江市| 甘肃省| 仪陇县|