1. 程式人生 > >Maven實戰:用maven來建立專案(用已有專案模板來建立專案)

Maven實戰:用maven來建立專案(用已有專案模板來建立專案)

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
。這個時候會生成target資料夾,切換到target\generated-sources\archetype資料夾下,如果不需要將該專案模板釋出到公司的私服上的話,執行mvn install即安裝到本地的maven倉庫中。切換到maven的settings檔案中配置的maven倉庫地址,預設為$user/.m2/資料夾下,會看到一個archetype-catalog.xml檔案,開啟後會發現其中包含了剛才安裝的專案的資訊。
執行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這個命令就可以使用你所上傳的專案模板來建立專案。