一,前言
遇到了一個非常簡單的maven命令:
總的來說,這是一個用maven創建一個jersey快速開始項目的maven命令。
這次不妨使用maven命令來構建項目,看體驗如何。
在文章idea maven創建web項目和maven創建web工程中我分別在idea和eclipse中使用maven構建了web項目。
這次使用maven命令嘗試構建web工程。
二,配置環境變量
想要使用mvn命令行,必須要將mvn配置到環境變量中,例如,我的環境變量的path中的配置如下圖
配置好之后,就可以在命令行窗口中使用mvn命令了,下面我們就分兩種方式來使用maven命令構建web項目:
三,以交互式的方式
為什么要以非交互模式開始呢?應為這個模式比較麻煩。
打開命令行工具,切換到目標文件夾,然后輸入mvn archetype:generate,然后項目的構建工作就正式開始了。
輸入這個命令后首先映入眼簾的是一個大概有2000千多行的列表,這個列表里面就是接下來要我們選擇的模板(archetype),
maven會以這個模板為基礎構建工程,先看一下圖:
接下來,我們就看看,maven接下來讓我們做什么?我們來到窗口的最底部,可以看到:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1274:
這句話是告訴我們選擇一個上面的序號,或者是按照格式輸入一個過濾條件。
雖然我的目標是構建一個web工程,但是我總不能在這個2000多個模板中一個一個的查找吧,所以首先輸入 :webapp
可以看到,maven或繼續給我們展示一個列表,但是列表的長度只有100多個了,而不是剛剛開始的2000多個。經過耐心的查找,終於發現用於構建web項目的模板:
42: remote -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
編號為:42。
那就在最底部輸入42,然后回車
選擇好了模板之后,maven就讓我來選擇模板的版本。大家可以發現,在選擇版本的輸入行上有一個6,這是maven默認給我選擇了6號,也就是最新的1.3版本,那我就直接回車就可以了。
稍等幾秒就然我填寫groupId,那我就隨便填寫了一個com.zcz.webdemo,然后回車。
接着是填寫artifactId,就寫webdemo吧
接着是選擇版本,我就使用默認了,直接回車
接着是填寫package ,我也沒有填寫,使用了默認的,直接回車
最后maven會像上圖中所展示的一樣,給一個上面填寫信息的一個匯總,給我們進行確認。直接回車即可。
然后我們的項目就構建完成了。
可以看到,出現了一個新的文件夾,而且文件夾的名字與上面填寫的artifactId相同。
四,以命令的形式創建
以maven命令的形式創建一個就十分簡單了,來看一個命令:
mvn archetype:generate -DgroupId=com.zcz.webdemo2 -DartifactId=webdemo2 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
其實這個命令與上一中創建web項目的內容是一樣的。
-DarchetypeArtifactId:模板名稱
-DgroupId:輸入的groupId
DartifactId:輸入的artifactId
-DinteractiveMode=false:不以交互式命令行的形式構建項目
了解了整個命令的結構之后,我們繼續在目標文件夾打開命令行窗口,將這句命令粘貼到命令行窗口中,回車,開始執行:
可以明顯的發現,與交互式的方式相比。這種形式十分簡潔方便。
來看一下生成的文件夾。
五,-DinteractiveMode=false會怎么樣?
如果上方的命令中-DinteractiveMode=true,會發生什么呢?不妨試一下。命令
mvn archetype:generate -DgroupId=com.zcz.webdemo3 -DartifactId=webdemo3 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=true
復制到命令行窗口,回車執行
雖然發現還是會讓我們手動輸入某些信息,但是命令行中已經有的信息,是不在讓我們輸入的了。而且新的工程也構建成功了:
一點點小知識,希望能幫到你!
原創不易,轉載請聲明出處:https://www.cnblogs.com/zhangchengzi/p/9876217.html