maven教程(下)在ide下的快速打包指南

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 原創(chuàng)者:文思

什么是maven及maven的基本常識(shí)這里就不再描述了,直接介紹ide中maven插件的基本用法,以及maven在spring boot項(xiàng)目中打包時(shí)容易遇到的坑。

一、插件介紹

1、myeclipse中maven插件簡(jiǎn)介

Maven4MyEclipse是Maven和MyEclipse

IDE之間進(jìn)一步的整合和常用插件。這種整合消除了一些Maven用戶最常見的障礙,包括:

a 從MyEclipse類路徑容器的后臺(tái)安裝Sun JARs到您的本地Maven倉庫中

b 運(yùn)行時(shí)的JDK簡(jiǎn)單配置和編譯時(shí)的Maven

c ?簡(jiǎn)單安裝自己的JAR到Maven倉庫中

d ?停留在IDE中并可以從UI中執(zhí)行所有的Maven任務(wù)

前兩個(gè)分別是添加依賴與插件,與在pom中直接編輯添加無異:


Download Source與javaDoc是下載源碼與文檔,不用細(xì)說.

update project本身是更新項(xiàng)目的意思,當(dāng)修改了pom文件沒有自動(dòng)及時(shí)生效時(shí),update?project會(huì)更新相對(duì)應(yīng)的“eclipse的.classpath”文件,手工更新項(xiàng)目。

備注:如果原JDK版本為1.7, 使用Maven > Update project的時(shí)候JDK版本都恢復(fù)成1.5的話,在“pom.xml”文件中增加如下配置之后再次重新Maven > Update project即可:

Disable Maven Nature轉(zhuǎn)為一般工程

Enable Workspace Resolution:打開這個(gè)選項(xiàng)以后,在Workspace中配置的工程才會(huì)作為依賴工程,如果disable之后,則會(huì)被視為靜態(tài)的依賴jar包。

打開時(shí)如下:


關(guān)閉時(shí):

二、打包

打包有兩種方式:第1種是maven install,這個(gè)時(shí)候不用配置命令的,右鍵工程--》run as 或者dabug as 中都有,如果之前打過包了,但還沒有清除容易失敗,所以打包前最好先clean一下。第2中在doc下手工執(zhí)行maven的package打包的命令。

1:ide中打包

1.1利用ide中的maven build只打包,不發(fā)布

首先,maven沒有build命令,ide中的build等同于Maven命令,只是代表準(zhǔn)備要執(zhí)行的maven命令,可以在build中執(zhí)行任何命令(包括clean和deploy等)

在ide的build中執(zhí)行maven的package命令,打包前最好先clean一下:


1.2利用ide中的maven install打包后發(fā)布到本地倉庫:

ide的maven install相當(dāng)于maven命令的:mvn intall,而mvn install相當(dāng)于mvn?package+mvn deploy本地倉庫參數(shù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

2:在doc窗口中,在項(xiàng)目下執(zhí)行mvn package,建議mvn clean package,先清除再打包

三、基于spring boot項(xiàng)目應(yīng)用的打包

打包后找不到pom下spring boot的依賴包了:

檢查pom中的插件配置plugs:

由于spring boot風(fēng)格的項(xiàng)目在項(xiàng)目結(jié)構(gòu)與pom關(guān)系上與普通項(xiàng)目不同,不使用SpringBoot自帶的插件,因?yàn)檫@個(gè)打包會(huì)打包在Spring-Boot目錄下導(dǎo)致別的項(xiàng)目引用時(shí)引用不到,Spring Boot的Maven插件(Spring Boot Maven plugin)能夠以Maven的方式為應(yīng)用提供Spring?Boot的支持,即為Spring Boot應(yīng)用提供了執(zhí)行Maven操作的可能。Spring Boot Maven plugin能夠?qū)pring Boot應(yīng)用打包為可執(zhí)行的jar或war文件,然后以通常的方式運(yùn)行Spring?Boot應(yīng)用。

?Spring?Boot Maven plugin的5個(gè)Goals

?a:spring-boot:repackage,默認(rèn)goal。在mvn package之后,再次打包可執(zhí)行的jar/war,同時(shí)保留mvn?package生成的jar/war為.origin

b:spring-boot:run,運(yùn)行Spring?Boot應(yīng)用

c:spring-boot:start,在mvn?integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理

d:spring-boot:stop,在mvn?integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理

e:spring-boot:build-info,生成Actuator使用的構(gòu)建信息文件build-info.properties

如果你的POM不是繼承spring-boot-starter-parent的話,需要下面的指定:

或者

要打war包則:


參考指南:

https://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html

spring-boot-maven-plugin待研究細(xì)節(jié)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。