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