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

Maven pom.xml 添加本地jar包依賴(lài)以及打包方法

 更新時(shí)間:2020年09月07日 11:38:07   作者:Strugglion  
這篇文章主要介紹了Maven pom.xml 添加本地jar包依賴(lài)以及打包方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Maven項(xiàng)目打包時(shí),如果遇到需要添加本地jar包依賴(lài)的時(shí)候,可以選擇兩種方法:

1. 安裝到本地倉(cāng)庫(kù)

第一種方法比較常規(guī),適用于需要添加的jar包也是由maven項(xiàng)目導(dǎo)出,含有pom文件的時(shí)候。只需要將jar包安裝到本地maven倉(cāng)庫(kù)下,然后添加依賴(lài)即可。

(1)安裝到本地倉(cāng)庫(kù),執(zhí)行以下命令(其中的-Dfile/-DgroupId/-DartifactId/-Dversion項(xiàng)根據(jù)pom文件內(nèi)容填寫(xiě)):

mvn install:install-file -Dfile=xxxxx.jar -DgroupId=xxx.xxx.xxx -DartifactId=xxxxx -Dversion=1.0.0 -Dpackaging=jar

(2)安裝之后可以在本地倉(cāng)庫(kù)中找到對(duì)應(yīng)的jar包。然后將對(duì)應(yīng)的依賴(lài)信息插入到工程的pom文件即可:

<dependency>
  <groupId>xxx.xxx.xxx</groupId>
  <artifactId>xxxxx</artifactId>
  <version>1.0.0</version>
</dependency>

2. dependency中指定scope="system"和本地jar包路徑

這種方法適用于其他方式導(dǎo)出的jar包,jar包中不含有pom信息,從而無(wú)法安裝進(jìn)本地倉(cāng)庫(kù)的情況。做法是:先配置本地jar包依賴(lài),然后在build時(shí)將設(shè)置將jar包導(dǎo)出,同時(shí)配置manifest。

(1)配置本地jar包依賴(lài)(systemPath指向本地jar包路徑):

<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-java-sdk-s3</artifactId>
  <version>1.11.0</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/lib/xxx.jar</systemPath>
</dependency>

(2)在<build>的spring-boot-maven-plugin中設(shè)置將本地jar包導(dǎo)出到項(xiàng)目最終的依賴(lài)庫(kù)中:

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <includeSystemScope>true</includeSystemScope>
  </configuration>
</plugin>

(3)如果項(xiàng)目使用maven-jar-plugin插件打包的話,還需要在manifectEntries中添加對(duì)應(yīng)的jar包信息;否則雖然jar包導(dǎo)出了,但是項(xiàng)目生成的MANIFEST.MF文件中沒(méi)有對(duì)應(yīng)的依賴(lài)信息,也會(huì)導(dǎo)致運(yùn)行時(shí)找不到對(duì)應(yīng)的class。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <addClasspath>true</addClasspath>
        <classpathPrefix>lib/</classpathPrefix>
        <mainClass>XXXX</mainClass>
      </manifest>
      <manifestEntries>
        <Class-Path>./ lib/xxxxx.jar</Class-Path>
      </manifestEntries>
    </archive>
    <outputDirectory>
      ${project.build.directory}/XXXXX
    </outputDirectory>
  </configuration>
</plugin>

(4)最后附上一個(gè)項(xiàng)目完整的<build>配置(該配置可以將最終生成的jar包和依賴(lài)庫(kù)、配置文件分開(kāi))。

<build>
  <finalName>XXXXX</finalName>
  <sourceDirectory>src/main/java</sourceDirectory>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <targetPath>${project.build.directory}/XXXXX</targetPath>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </resource>
  </resources>

  <testSourceDirectory>src/test/java</testSourceDirectory>
  <testResources>
    <testResource>
      <directory>src/test/resources</directory>
      <filtering>true</filtering>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
    </testResource>
  </testResources>

  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <includeSystemScope>true</includeSystemScope>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <skipTests>true</skipTests>
      </configuration>
    </plugin>

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <executions>
        <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
            <goal>copy-dependencies</goal>
          </goals>
          <configuration>
            <outputDirectory>
              ${project.build.directory}XXXXX/lib
            </outputDirectory>
          </configuration>
        </execution>
      </executions>
    </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>lib/</classpathPrefix>
              <mainClass>xxx.xxx.XXXXX</mainClass>
            </manifest>
            <manifestEntries>
              <Class-Path>./ lib/xxxxx.jar</Class-Path>
            </manifestEntries>
          </archive>
          <outputDirectory>
            ${project.build.directory}/XXXXX
          </outputDirectory>
        </configuration>
      </plugin>
  </plugins>
</build>

到此這篇關(guān)于Maven pom.xml 添加本地jar包依賴(lài)以及打包方法的文章就介紹到這了,更多相關(guān)Maven pom.xml jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中的CompletableFuture類(lèi)詳解

    SpringBoot中的CompletableFuture類(lèi)詳解

    這篇文章主要介紹了SpringBoot中的CompletableFuture類(lèi)詳解,在?Java8中,引入了CompletableFuture類(lèi),它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)執(zhí)行異步任務(wù),今天我們就來(lái)詳細(xì)解讀一下這個(gè)類(lèi),需要的朋友可以參考下
    2023-07-07
  • Spring-cloud-eureka使用feign調(diào)用服務(wù)接口

    Spring-cloud-eureka使用feign調(diào)用服務(wù)接口

    這篇文章主要為大家詳細(xì)介紹了Spring-cloud-eureka使用feign調(diào)用服務(wù)接口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • mybatis foreach批量插入數(shù)據(jù):Oracle與MySQL區(qū)別介紹

    mybatis foreach批量插入數(shù)據(jù):Oracle與MySQL區(qū)別介紹

    這篇文章主要介紹了,需要的朋友可以參考下
    2018-01-01
  • Spring Boot 對(duì)接深度求索接口實(shí)現(xiàn)知識(shí)問(wèn)答功能

    Spring Boot 對(duì)接深度求索接口實(shí)現(xiàn)知識(shí)問(wèn)答功能

    本文詳細(xì)介紹了如何使用 Spring Boot 對(duì)接深度求索接口,實(shí)現(xiàn)知識(shí)問(wèn)答功能,通過(guò)整合深度求索 API,我們可以輕松地在 Spring Boot 項(xiàng)目中實(shí)現(xiàn)智能問(wèn)答功能,
    2025-02-02
  • Java注解的簡(jiǎn)單入門(mén)小案例

    Java注解的簡(jiǎn)單入門(mén)小案例

    這篇文章主要介紹了Java注解的簡(jiǎn)單入門(mén)小案例,注解是干什么的?怎么使用?注解的簡(jiǎn)單用法,需要的朋友可以參考下
    2023-04-04
  • spring基礎(chǔ)概念A(yù)OP與動(dòng)態(tài)代理理解

    spring基礎(chǔ)概念A(yù)OP與動(dòng)態(tài)代理理解

    這篇文章主要為大家詳細(xì)介紹了spring基礎(chǔ)概念A(yù)OP與動(dòng)態(tài)代理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 深入理解Java中的接口

    深入理解Java中的接口

    下面小編就為大家?guī)?lái)一篇深入理解Java中的接口。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • Dependency ‘XXX:‘ not found問(wèn)題的三步解決

    Dependency ‘XXX:‘ not found問(wèn)題的三步解決

    這篇文章主要介紹了Dependency ‘XXX:‘ not found問(wèn)題的三步解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 跳表的由來(lái)及Java實(shí)現(xiàn)詳解

    跳表的由來(lái)及Java實(shí)現(xiàn)詳解

    跳表(Skip List)是一種基于鏈表的數(shù)據(jù)結(jié)構(gòu),它可以支持快速的查找、插入、刪除操作,本文主要來(lái)和大家講講跳表的由來(lái)與實(shí)現(xiàn),感興趣的小伙伴可以了解一下
    2023-06-06
  • Java異常處理方法匯總

    Java異常處理方法匯總

    這篇文章主要介紹了Java異常處理方法匯總,我們?cè)谲浖_(kāi)發(fā)的過(guò)程中,任何語(yǔ)言的開(kāi)發(fā)過(guò)程中都離不開(kāi)異常處理。下面下小編加來(lái)給大家分享各種異常處理,希望對(duì)大家有所幫助,需要的朋友可以參考一下
    2021-12-12

最新評(píng)論

思茅市| 武川县| 卓资县| 延安市| 玉环县| 洪洞县| 阿克苏市| 兰考县| 齐河县| 沾化县| 东阳市| 亳州市| 敦化市| 夏津县| 鹤岗市| 沽源县| 佛坪县| 车险| 柳江县| 文登市| 邢台县| 湟中县| 怀远县| 文山县| 漠河县| 南康市| 安岳县| 崇信县| 成安县| 佛教| 哈密市| 东丽区| 女性| 石林| 高清| 长顺县| 林芝县| 延川县| 黄冈市| 奈曼旗| 安岳县|