spring-boot-maven-plugin插件會(huì)打Jar包會(huì)引入依賴包
可以打成直接運(yùn)行的Jar包
maven項(xiàng)目的pom.xml中夫晌,添加了org.springframework.boot:spring-boot-maven-plugin
插件溢陪,當(dāng)運(yùn)行“mvn package”進(jìn)行打包時(shí)熬苍,會(huì)打包成一個(gè)可以直接運(yùn)行的 JAR 文件奖年,使用“Java -jar”命令就可以直接運(yùn)行肾胯。
可以引入依賴包
一般的maven項(xiàng)目的打包命令砚亭,不會(huì)把依賴的jar包也打包進(jìn)去的,只是會(huì)放在jar包的同目錄下扣猫,能夠引用就可以了菜循,但是spring-boot-maven-plugin插件,會(huì)將依賴的jar包全部打包進(jìn)去申尤。比如下面這個(gè)jar包的BOOT/INF/lib目錄下面就包含了所有依賴的jar包
spring-boot-maven-plugin插件癌幕,在很大程度上簡(jiǎn)化了應(yīng)用的部署,只需要安裝了 JRE 就可以運(yùn)行昧穿。
但是俺測(cè)試發(fā)現(xiàn)它的一個(gè)缺點(diǎn)勺远,就是它打包成的這個(gè)jar包,在被別的項(xiàng)目引用的時(shí)候时鸵,會(huì)出問題胶逢。如果沒有這個(gè)插件打包的話,那么它的目錄結(jié)構(gòu)是:
比較這兩次打包的區(qū)別:在使用spring-boot-maven-plugin插件時(shí)饰潜,打包后的目錄包括三個(gè)初坠,BOOT-INF,META-INF,org.springframework.boot.loader,在lib目錄里包含了我自己的項(xiàng)目的代碼目錄囊拜;
在沒有使用spring-boot-maven-plugin插件時(shí)某筐,打包的目錄只有兩個(gè),META-INF和我自己的項(xiàng)目代碼的目錄冠跷。
可以指定默認(rèn)執(zhí)行類
如果使用插件南誊,不指定子目錄的話,它的默認(rèn)執(zhí)行的類是
Main-Class: org.springframework.boot.loader.JarLauncher
如果使用spring-boot-maven-plugin插件還想要自定義執(zhí)行的類的話蜜托,可以用下面方法:
2抄囚、如果你的POM不是繼承spring-boot-starter-parent的話,需要下面的指定橄务。
3幔托、POM不是繼承spring-boot-starter-paren,并且使用maven-jar-plugin插件來指定執(zhí)行的類
轉(zhuǎn)載:http://www.cnblogs.com/acm-bingzi/p/mavenSpringBootPlugin.html