亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用maven引入第三方jar包以及打包

 更新時間:2023年05月19日 10:36:34   作者:怪?咖@  
Maven是通過倉庫對依賴進行管理的,當Maven項目需要某個依賴時,只要其POM中聲明了依賴的坐標信息,Maven就會自動從倉庫中去下載該構件使用,如何將jar引用到項目,并且能夠讓項目正常調用該jar包的方法,本篇文章重點針對于這兩點進行講解

我們知道,Maven 是通過倉庫對依賴進行管理的,當 Maven 項目需要某個依賴時,只要其 POM 中聲明了依賴的坐標信息,Maven 就會自動從倉庫中去下載該構件使用。但在實際的開發(fā)過程中,經常會遇到一種情況:對接第三方廠商,人家給了一個jar包,然后項目需要使用這個jar包,但是這個jar包并沒有上傳到遠程倉庫,這時候就不能使用簡單的pom依賴引用了,因此存在兩個問題:

  • 如何將jar引用到項目,并且能夠讓項目正常調用該jar包的方法
  • 外部引用的jar如何打包進項目?

當然公司如果是有私服的,可以直接將jar包上傳到私服。然后直接通過pom依賴簡單的聲明即可。

因此本篇文章重點針對于這兩點進行講解

目錄

如下是個maven項目,java-demo.jar是我們要引入的jar包。

<!--外部依賴-->
<dependency>
  <groupId>com.gzl.cn</groupId>
  <artifactId>java-demo</artifactId>
  <!--依賴范圍-->
  <scope>system</scope>
  <version>1.0-SNAPSHOT</version>
  <!--依賴所在位置-->
  <systemPath>${project.basedir}/src/main/resources/lib/java-demo.jar</systemPath>
</dependency>

在以上配置中,除了依賴的坐標信息外,外部依賴還使用了 scope 和 systemPath 兩個元素。

scope 表示依賴范圍,這里取值必須是 system,即系統(tǒng)。systemPath 表示依賴的本地構件的位置。

打包插件:<includeSystemScope>true</includeSystemScope> 這個非常重要,是將外部依賴打包進來的,如果沒有該配置,打出來的jar包是不包含外部jar包的,從而可能會導致運行異常!

<build>
      <!-- 打出來的jar包名 -->
    <finalName>maven-demo</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.4.2</version>
            <configuration>
                <!-- 主啟動類全類名 -->
                <mainClass>com.gzl.cn.App</mainClass>
                <!-- 這個配置很重要,是將外部依賴打包進來的,如果沒有該配置,打出來的jar包是不包含外部jar包的 -->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
            <executions>
                <execution>
                  <!--自定義 id -->
                  <id>repackage</id>
                    <!--插件目標 -->
                  <goals>
                    <goal>repackage</goal>
                  </goals>
            </execution>
          </executions>
        </plugin>
    </plugins>
  </build>

但是現(xiàn)在存在一個問題,打出來的jar包可以用,但是特別大。

如下是jar包解壓后的目錄:

我們可以將jar解壓會發(fā)現(xiàn)BOOT-INF的lib目錄下是有一個第三方引用的jar。

然后在BOOT-INF的classes/lib目錄下也有個這個jar包,這個是源碼當中的jar包,上面的是打出來的jar包運行的時候所要依賴的jar包。正常來說我們就可以將源碼當中的jar包給去掉,這樣就可以減小jar包的大小。

添加如下依賴,排除jar的打包

<build>
	<resources>
	  <resource>
	    <directory>src/main/resources</directory>
	    <filtering>true</filtering>
	    <excludes>
	        <exclude>**/lib/**</exclude>
	    </excludes>
	  </resource>
	</resources>
	...以下省略
</build>

重新進行打包后會然后將jar解壓觀察源代碼當中已經沒有l(wèi)ib目錄了。

java -jar 依然是可以運行起來的

以上就是利用maven引入第三方jar包以及打包的詳細內容,更多關于maven引入第三方jar包的資料請關注腳本之家其它相關文章!

相關文章

最新評論