Maven實戰:用maven來建立專案(用已有專案模板來建立專案)
阿新 • • 發佈:2019-01-25
Maven的作用:在曾經的一次面試中,曾經被問到一個問題,maven是個什麼東東。
它的主要主要作用在於:1.構建專案;2.管理依賴;3.管理專案資訊
Maven構建專案:maven構建專案的命令:mvn archetype:generate
當執行這個命令時,maven會去中央倉庫請求archetypeCatalog.xml這個檔案,這個檔案是一個maven的原型模板目錄,記載著已經發布到中央倉庫的專案原型模板。如果呼叫這個命令,會很慢,因為要下載這個很大的檔案。我們一般在實際開發中,用到的模板其實很有限,所以一般情況需要指定一個原型模板所在的位置。使用命令:mvn archetype:generate -DarchetypeCatalog=xxx
Nexus私服 一般情況下,當我們使用maven的中央倉庫時,下載jar包的速度會受限於網速。另外如果一些公司內部的jar需要分發,或者需要利用公司內部已有的專案原型模板來建立專案,這個時候都需要一個東東來做這些事件,就用到了nexus私服。具體安裝方法參看(//TODO)。
根據已有專案模板建立專案:在更多的時候,我們是利用公司已有的專案模板來建立新的專案,因為已有的專案中已經有了所需jar的依賴,專案的架構層次或者是多模組專案間的依賴關係等等。maven提供了一套能夠從已有的專案中抽象出來專案骨架的方案。切換到專案的根目錄,執行
maven archetype:create-from-project
執行
mvn archetype:generate -DarchetypeCatalog=local
即呼叫本地的專案模板目錄,能夠看到已經存在的專案模板,輸入數字選擇你所使用的專案模板,根據互動內容輸入你準備建立專案的資訊即可。 如果需要將該專案模板資訊釋出到私服上,需要在target\generated-sources\archetype\pom.xml中配置需要部署的位置。需要加入:
<distributionManagement>
<repository>
<id>releases</id>
<name>bazaar releases</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>bazaar snapshots</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
將你所使用的私服地址替換即可。然後執行mvn deploy即將專案模板釋出到私服上。你的同事就可以使用mvn archetype:generate -DarchetypeCatalog=http://127.0.0.1:8081/nexus/content/repositories/snapshots/archetype-catalog.xml
這個命令就可以使用你所上傳的專案模板來建立專案。