《Maven官方文檔》什麼是原型(Archrtype)?
什麼是原型?
簡單來說,原型(Archetype)是一個Maven工程模板工具包。一個原型被定義為一個提供相同性質內容的原始樣式或模型。這個名字適合當我們試圖提供一個係統,這個係統提供了一個一致的方式生成Maven項目。原型將幫助作者為用戶創建Maven工程模板,並且為用戶提供方法去使用參數來調整生成的工程模板。
使用原型提供了一個很好的方式,使開發人員快速的符合你的項目或組織的最佳實踐,在Maven項目中,我們提供了一個演示了Maven多種特性的示例工程,以此希望幫助我們的用戶盡快的啟動並運行,同時引導新用戶使用Maven的最佳實踐。幾秒之內,新用戶就可以使用Maven項目工作,並以此為跳板了解Maven的更多的特性。我們也試著去為原型加入可添加機製,通過這種方法允許工程的一部分被一個原型捕獲,來使這一部分工程能夠直接加入的另一個已經存在的工程。這方麵一個比較好的例子是Maven site archetype。舉個例子,如果你已經用quick start原型生成了一個工程,你同樣能通過在已存在的工程中使用site archetype來快速的生成一個這個工程的站點。你可以用原型來做任何像這樣的事情。
可能你想在你的組織中標準化J2EE開發,於是你想去提供EJBs或WARs的原型,或者為你的web服務提供原型。當這些原型創建並應用到你的組織的倉庫裏,它們就可以被你組織裏的所有開發者使用了。
使用Archetype
基於Archetype來創建一個新工程,你隻需要調用 mvn archetype:generate目標,就像這樣:
mvn archetype:generate
譯者注: mvn archetype:generate 命令會從遠程拉取所有的原型(大約1575個)供你選擇,使用-DarchetypeArtifavtId=[archetype]參數可以指定archetype類型。如果卡在Generating project in Interactive mode這一步,是因為maven在從遠程拉取信息,使用 -DarchetypeCatalog=internal 參數讓它不要從遠程服務器上取catalog。
可供使用的Archetype
Maven提供了一些可用的Archetype:
Archetype ArtifactIds | Description |
---|---|
maven-archetype-archetype | 生成一個示例原型工程 |
maven-archetype-j2ee-simple | 生成一個簡單的J2EE應用示例 |
maven-archetype-mojo | 生成Maven Plugin 例子的示例 |
maven-archetype-plugin | 生成Maven Plugin示例 |
maven-archetype-plugin-site | 生成Maven Plugin site示例 |
maven-archetype-portlet | 生成JSR-268組件示例 |
maven-archetype-quickstart | 生成Maven Quickstart工程示例 |
maven-archetype-simple | 生成一個簡單的Maven工程 |
maven-archetype-site | 生成一個展示可支持的格式的文檔的站點,例如 APT, XDoc, FML, 並且展示如何國際化你的站點。 |
maven-archetype-site-simple | 生成一個Maven site 示例 |
maven-archetype-webapp | 生成Maven Webapp工程示例 |
關於這些原型的更多信息,請參考 Maven Archetype Bundles page。
原型的構成
原型被打包成一個JAR,原型由描述原型內容的原型元數據(archetypr metadata)和一係列創建原始工程的Velocity模板組成。如果你想了解如何創建你自己的原型,請參考Guide to creating archetypes。
最後更新:2017-05-19 15:32:28