溫馨提示×

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

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

IDEA中MAVEN項(xiàng)目如何打包JAR包

發(fā)布時(shí)間:2021-08-18 11:04:59 來源:億速云 閱讀:1614 作者:小新 欄目:編程語(yǔ)言

這篇文章主要為大家展示了“IDEA中MAVEN項(xiàng)目如何打包JAR包”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“IDEA中MAVEN項(xiàng)目如何打包JAR包”這篇文章吧。

Idea中為一般的非Web項(xiàng)目打Jar包是有自己的方法的,網(wǎng)上一搜就能查到很多。

但是如果是為Maven項(xiàng)目打Jar包,其實(shí)是很簡(jiǎn)單的,因?yàn)閙aven本身就有打Jar包的命令。

最簡(jiǎn)單的方法

首先是在maven項(xiàng)目的pom.xml中添加打包的插件,這里有很多種方式的。最最簡(jiǎn)單的就是只使用maven-compiler-plugin、maven-jar-plugin插件,并且指定程序入口<mainClass>。相關(guān)代碼如下:

pom.xml文件為:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.mymaven</groupId>
  <artifactId>test</artifactId>
  <version>1.0-SNAPSHOT</version>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <useUniqueVersions>false</useUniqueVersions>
              <classpathPrefix>lib/</classpathPrefix>
              <mainClass>cn.mymaven.test.TestMain</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
</project>

入口類TestMain.java為:

package cn.mymaven.test;

public class TestMain {
  public static void main(String[] args){
    System.out.println("Hello World");
  }
}

然后開始打包,在Idea中把Maven項(xiàng)目的命令都做成了可視化的操作界面,只需要如下操作就好: 

在Maven Project目錄下,點(diǎn)擊package  

IDEA中MAVEN項(xiàng)目如何打包JAR包 

此時(shí)在target目錄下,就會(huì)生成這個(gè)項(xiàng)目的Jar包

IDEA中MAVEN項(xiàng)目如何打包JAR包

使用java -jar 命令運(yùn)行這個(gè)Jar包,會(huì)輸出“Hello World”

需要注意的地方

需要說明的是,如果一個(gè)maven項(xiàng)目中有多個(gè)子目錄,每一個(gè)子目錄中的pom.xml對(duì)應(yīng)一個(gè)項(xiàng)目,它的作用范圍只有這一個(gè)子目錄下的。比如掃描配置文件,如果要讓一個(gè)子目錄下的pom.xml掃描另一個(gè)子目錄下的配置文件,那是做不到的。在打jar包的時(shí)候,只運(yùn)行當(dāng)前的pom.xml文件。

當(dāng)然也有其他的打包方法,比如使用spring-boot-maven-plugin插件在打Jar包時(shí),會(huì)引入依賴包。

它的pom.xml文件配置為:

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <configuration>
        <archive>
          <manifest>
            <addClasspath>true</addClasspath>
            <useUniqueVersions>false</useUniqueVersions>
            <classpathPrefix>lib/</classpathPrefix>
            <mainClass>cn.mymaven.test.TestMain</mainClass>
          </manifest>
          <manifestEntries>
            <version>${project.version}</version>
          </manifestEntries>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

以上是“IDEA中MAVEN項(xiàng)目如何打包JAR包”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI