java專案打包
阿新 • • 發佈:2018-12-20
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 啟動成功了。