maven打包成可運行jar包碰見的坑

寫了一下腳本,想在線上跑一下,第一反應是直接把.java文件在線上直接跑,可是因此來的jar包還得手動一個一個添加(其實不知道怎麼添加。。。。),而後想到還不如直接新建一個項目,只包含這一個文件,而後把整個項目打包,美滋滋java

1,新建Maven工程apache

2,讓項目跑起來(其實就是導入依賴)maven

3,重點,pom文件中加入函數

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                        <mainClass>Main函數(xxx.xxx.xxx)</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <!-- bind to the packaging phase -->
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

而後package,會生成兩個文件,一個包好依賴,,一個不包含。ui

簡單解釋一下:生命週期

<descriptorRef>jar-with-dependencies</descriptorRef>

打包時都添加依賴包ip

<mainClass>com.gzj.CookieTest</mainClass>

主函數位置ci

<id>make-assembly</id>

名字任意it

<phase>package</phase>

綁定到package生命週期階段上io

<goals>
    <goal>single</goal>
</goals>

只運行一次

4,而後把辦好依賴的jar包扔到線上,java -jar  XXXXXXXXX.jar,ok

相關文章
相關標籤/搜索