溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Maven引入本地Jar包并打包進(jìn)War包中的方法

發(fā)布時(shí)間:2020-09-09 02:56:35 來源:腳本之家 閱讀:342 作者:upshi 欄目:編程語言

1.概述

在平時(shí)的開發(fā)中,有一些Jar包因?yàn)榉N種原因,在Maven的中央倉庫中沒有收錄,所以就要使用本地引入的方式加入進(jìn)來。

2. 拷貝至項(xiàng)目根目錄

項(xiàng)目根目錄即pom.xml文件所在的同級(jí)目錄,可以在項(xiàng)目根目錄下創(chuàng)建文件夾lib,如下圖所示:

Maven引入本地Jar包并打包進(jìn)War包中的方法

這4個(gè)Jar包是識(shí)別網(wǎng)頁編碼所需的包。

3. 配置pom.xml,依賴本地Jar

配置Jar的dependency,包括groupId,artifactId,version三個(gè)屬性,同時(shí)還要包含scope和systemPath屬性,分別指定Jar包來源于本地文件,和本地文件的所在路徑。

<!-- #################################  cpdetector  #################################### -->
<dependency>
  <groupId>cpdetector</groupId>
  <artifactId>cpdetector</artifactId>
  <version>1.0.10</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/cpdetector_1.0.10.jar</systemPath>
</dependency>

<dependency>
  <groupId>antlr</groupId>
  <artifactId>antlr</artifactId>
  <version>2.7.4</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/antlr-2.7.4.jar</systemPath>
</dependency>

<dependency>
  <groupId>chardet</groupId>
  <artifactId>chardet</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/chardet-1.0.jar</systemPath>
</dependency>

<dependency>
  <groupId>jargs</groupId>
  <artifactId>jargs</artifactId>
  <version>1.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/jargs-1.0.jar</systemPath>
</dependency>

其中,${basedir}是指項(xiàng)目根路徑

4. 配置Maven插件將本地Jar打包進(jìn)War中

在進(jìn)行以上配置以后,編寫代碼時(shí)已經(jīng)可以引入Jar包中的class了,但是在打包時(shí),由于scope=system,默認(rèn)并不會(huì)將Jar包打進(jìn)war包中,所有需要通過插件進(jìn)行打包。

修改pom.xml文件,在plugins標(biāo)簽下加入下面的代碼

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <version>2.10</version>
  <executions>
    <execution>
      <id>copy-dependencies</id>
      <phase>compile</phase>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
        <includeScope>system</includeScope>
      </configuration>
    </execution>
  </executions>
</plugin>

這樣,打出來的war包中,就會(huì)包含本地引入的jar依賴了。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI