maven原型_Maven原型创建技巧
maven原型
我最近需要為姜黃SOA項(xiàng)目創(chuàng)建一些Maven原型。 對于不了解的人來說, Maven原型是一種基于一些預(yù)先罐裝的項(xiàng)目模板生成項(xiàng)目的方法。 對于當(dāng)前的姜黃SOA原型,它將創(chuàng)建一個多模塊Maven項(xiàng)目,其中包含Interface和Service項(xiàng)目以及基本的WSDL和適當(dāng)配置的POM。 可以在命令行或通過m2eclipse的New Maven Project向?qū)н\(yùn)行。 通過支持Maven原型,其他IDE(例如NetBeans,IntelliJ等)也可以使用它。
開始使用Maven原型最難的是存在的相對較差的文檔。 除了最基本的用途( archetype:create-from-project )以外,它可以在已有的maven項(xiàng)目或父項(xiàng)目的情況下創(chuàng)建原型,沒有什么可做的。 因此,這里有一些提示。
目錄/文件名替換
在模板生成過程中,有些情況下您要輸出不同的模塊名稱,有時還要輸出不同的文件名。 為此,請使用變量名重命名您要替換的目錄或文件部分。 例如,如果您指定__rootArtifactId__作為目錄名稱或文件名的一部分,則將替換在mvn archetype:generate期間輸入為artifactId的內(nèi)容。 您可以對自定義屬性執(zhí)行相同的操作。 例子
內(nèi)置屬性
有一些內(nèi)置屬性可以在替換期間使用。 這些是:
- groupId
- artifactId
- rootArtifactId
- 版
- package –一個基本的Java程序包名稱,在項(xiàng)目創(chuàng)建期間放置在src / main / java中。
您也可以在POM和其他文件模板中使用它們。
Archetype-metadata.xml
創(chuàng)建項(xiàng)目后,存儲在archetype-resources / META-INF / maven文件夾中的archetype-metadata.xml是您需要調(diào)整要生成的內(nèi)容和方式的地方。
對于模塊,您需要調(diào)整屬性:
- id –這是將要生成的模塊的名稱。
- dir –模板目錄
- 名稱-將放置在pom文件中的工件ID。
對于id和name屬性,可以使用標(biāo)準(zhǔn)的Maven屬性規(guī)范:$ {someproperty}。 對于目錄,您需要使用特殊的__someproperty__表示法。 在大多數(shù)情況下,這將是__rootArtifactId__。 姜黃SOA原型中的一個例子。
必需的屬性
必需屬性是提示您提示可在模板中替代的其他信息的方式。 生成過程中將提示您指定的任何屬性。 您也可以使用-D選項(xiàng)從命令行傳遞它們。 必需的屬性在模板中作為屬性引用,并在生成過程中被替換。
請注意指定默認(rèn)值,在生成過程中不會提示您輸入默認(rèn)值。 仍可以使用-D選項(xiàng)覆蓋它們。
原型目錄
擁有原型目錄很重要。 如果您使用的是Nexus 1.9.x,它將自動搜索您的存儲庫并為每個存儲庫生成原型目錄。 它掃描所有原型,并且在部署原型后立即更新目錄條目。 如果您還沒有原型目錄,那么maven可以從本地存儲庫為您創(chuàng)建一個原型目錄。 只需運(yùn)行mvn archetype:crawl。 輸出將放置在您的.m2存儲庫中。 原型很重要,因?yàn)樗鼈兛梢宰屍渌酥滥淖远x原型,并提供一種共享和發(fā)現(xiàn)它們的方式。
Hopefull提供了這些技巧,您可以免除我所忍受的一些麻煩。 我的下一個任務(wù)是幫助Minerva項(xiàng)目創(chuàng)建一些原型,以使Eclipse項(xiàng)目可以更輕松地開始使用Tycho。
您還有其他提示或需要注意的事項(xiàng)嗎? 如果是這樣,請隨時添加評論。
參考:來自JCG合作伙伴的 Maven原型創(chuàng)建技巧 ? David Carver在智力抽筋博客上。
翻譯自: https://www.javacodegeeks.com/2012/02/maven-archetype-creation-tips.html
maven原型
總結(jié)
以上是生活随笔為你收集整理的maven原型_Maven原型创建技巧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 月字的由来 月字的由来
- 下一篇: Java在几乎所有方面都可以胜任本机响应