亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用MAVEN打JAR包

發布時間:2023-03-01 11:30:55 來源:億速云 閱讀:119 作者:iii 欄目:開發技術

這篇文章主要介紹了怎么使用MAVEN打JAR包的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么使用MAVEN打JAR包文章都會有所收獲,下面我們一起來看看吧。

使用MAVEN打JAR包

一、簡單的方法:

首先在pom.xml里面添加:

<build>  
    <plugins>  
      <plugin>  
        <artifactId>maven-assembly-plugin</artifactId>  
        <configuration>  
          <descriptorRefs>  
            <descriptorRef>jar-with-dependencies</descriptorRef>  
          </descriptorRefs> 
          <archive>  
            <manifest>  
              <mainClass>com.qunar.piao.data.integration.Boot</mainClass>  
            </manifest>  
            <!-- 需要執行的main -->
          </archive>           
        </configuration>  
      </plugin>  
    </plugins>  
  </build>

然后執行:mvn assembly:assembly 

最后執行:java   -jar target/ticket-data-integration-0.0.1-SNAPSHOT-jar-with-dependencies.jar 

二、執行任意main方法

兩個類,Boot類:

package com.qunar.check.integration;

public class Boot {

    public static void main(String[] args){
        System.out.println("test xingxing");
    }
}

Boot2類:

package com.qunar.check.integration;

public class Boot2 {
    public static void main(String[] args){
        System.out.println("test liqiu");
    }
}

那么執行:

$ java -classpath target/check-jar-with-dependencies.jar com.qunar.check.integration.Boot2
test liqiu
$ java -classpath target/check-jar-with-dependencies.jar com.qunar.check.integration.Boot
test xingxing

兩個main函數都可以執行

擴展:maven 使用assembly 進行打包

1. pom 中添加assembly 插件

要使用assembly 進項編譯打包, 首先主要在pom 中的build中添加插件信息, 具體如圖下所示:

<build>
    <finalName>${project.artifactId}</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
        <resource>
            <directory>${profile.dir}</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

    <plugins>
        <!-- compiler插件參數設置,指定編碼 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>utf-8</encoding>
            </configuration>
        </plugin>

        <!--   這個插件是關鍵   -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <!--   這個是assembly 所在位置  -->
                <descriptor>src/main/assembly/assembly.xml</descriptor>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2. 創建assembly文件夾和assembly.xml文件

創建assembly文件夾和assembly.xml文件, 這個樣子創建主要是規范。
在pom 中已經介紹assembly.xml 位置。

<!--   這個是assembly 所在位置  -->
<descriptor>src/main/assembly/assembly.xml</descriptor>

創建assembly.xml 文件后添加如下內容:

<assembly>
    <formats>
        <!--支持 zip,tar,tar.gz,tar.bz2,jar,dir,war 等 -->
        <format>tar.gz</format>
        <format>zip</format>
        <format>dir</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>src/main/resources</directory>
            <outputDirectory>conf</outputDirectory>
            <fileMode>0644</fileMode>
        </fileSet>
        <fileSet>
            <directory>${profile.dir}</directory>
            <outputDirectory>conf</outputDirectory>
            <!-- 表示的是包含下面格式的資源文件 -->
            <includes>
                <include>*.xml</include>
                <include>*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
            <fileMode>0644</fileMode>
        </fileSet>
        <fileSet>
            <directory>src/main/assembly/bin</directory>
            <outputDirectory>bin</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

fileMode 官方解釋:

Similar to a UNIX permission, sets the file mode of the files included. THIS IS AN OCTAL VALUE. Format: (User)(Group)(Other) where each component is a sum of Read = 4, Write = 2, and Execute = 1. For example, the value 0644 translates to User read-write, Group and Other

上述的三個fileSet 分別是將resource 下的資源打包到config 目錄下, 將assembly下的bin 啟動相關腳本打包到bin 目錄下, 將maven項目依賴的所有jar 包, 打包到lib 中。
具體結構如下圖所示:

怎么使用MAVEN打JAR包

關于“怎么使用MAVEN打JAR包”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么使用MAVEN打JAR包”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石门县| 通榆县| 龙陵县| 句容市| 永川市| 方城县| 突泉县| 陆良县| 黑河市| 田阳县| 图片| 登封市| 安塞县| 通化县| 新蔡县| 库尔勒市| 奉化市| 漳浦县| 东安县| 弥渡县| 襄汾县| 铅山县| 巴彦县| 兴隆县| 峨山| 丹巴县| 贵州省| 渝北区| 滁州市| 托里县| 年辖:市辖区| 横山县| 海宁市| 黔东| 延津县| 霍林郭勒市| 玛多县| 莒南县| 噶尔县| 普洱| 灯塔市|