1. 程式人生 > >java專案打包

java專案打包

1.使用maven-jar-plugin外掛進行打包

maven-jar-plugin外掛的使用需要在pom.xml檔案中新增此外掛,我們可以對此外掛進行配置。 配置參考如下:

<plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <!--打包時過濾以下檔案-->
                    <excludes>
                        <exclude>config/*</exclude>
                        <exclude>**/*.pem</exclude>
                        <exclude>**/*.p12</exclude>
                    </excludes>
                    <!--配置專案執行引數-->
                    <archive>
                        <manifest>
                            <!--在專案中新增使用外部jar包的classpath-->
                            <addClasspath>true</addClasspath>
                            <!--指定專案啟動引用的依賴-->
                            <classpathPrefix>lib/</classpathPrefix>
                            <!--指定主類-->
                            <mainClass>com.shengruitn.schedule.ScheduleApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

對於一些新手來說,很多時候都以為配置好這個外掛,然後進行打包,往往會發現沒有打包lib依賴目錄,這樣的jar包肯定是不能執行的,因為它找不到專案所需的依賴。 對於這個問題,我們還需要多配置一個外掛:maven-dependency-plugin。這個maven-dependency-plugin外掛主要是用於打包專案所需的依賴的。具體配置如下:

   <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <!--外掛預打包時生效-->
                        <phase>prepare-package</phase>
                        <goals>
                            <!--複製依賴-->
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!--指定輸出目錄-->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

在配置好以上兩個外掛後,執行mvn -Dmaven.test.skip=true package命令進行打包。 打包後可以看到生成了lib目錄,以及jar包: 在這裡插入圖片描述 我們可以執行一下這個jar包,檢驗是否可以啟動。 命令: java -jar schedule.jar 在這裡插入圖片描述 啟動成功了。