1. 程式人生 > >《Maven官方文件》什麼是原型(Archrtype)?

《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工程示例

原型的構成

原型被打包成一個JAR,原型由描述原型內容的原型元資料(archetypr metadata)和一系列建立原始工程的Velocity模板組成。如果你想了解如何建立你自己的原型,請參考Guide to creating archetypes