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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373344.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373344.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373344.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MyBatis操作指南-與Spring集成(基于注解)

轉載于:https://www.cnblogs.com/weilu2/p/mybatis_spring_integration_basic_on_annotation.html

Windows mysql boost_Win7下Boost庫的安裝

Boost庫是C領域公認的經過千錘百煉的知名C類庫,涉及編程中的方方面面,簡單記錄一下使用時的安裝過程1.boost庫的下載boost庫官網主頁:www.boost.org2.安裝將下載的壓縮包解壓到指定的目錄3.建立編譯工具bjam.exe在源碼目錄下執行bootstrap.ba…

5.2與終端進行對話

Linux提供了一個特殊的設備 /dev/tty ,該設備始終是指向當前終端或者當前的登錄會話。 FILE* output fopen("/dev/tty", "w"); //向終端寫入字符串 fprintf(output, "%s\n", "world"); FILE* input fopen("/dev/tty…

JVM:如何分析線程轉儲

本文將教您如何分析JVM線程轉儲,并查明問題的根本原因。 從我的角度來看,線程轉儲分析是掌握Java EE生產支持的任何個人最重要的技能。 您可以從線程轉儲快照中獲取的信息量通常遠遠超出您的想象。 我的目標是與您分享我在過去10年中積累的有關線程轉儲分…

極光推送JPush的快速集成

首先到極光推送的官網上創建一個應用,填寫對應的應用名和包名。 創建好之后下載Demo 提取Sdk里面的圖片和xml等資源文件放自己項目的相應位置,然后要注意的是.so文件的放置位置: 在main目錄下新建一個jniLibs文件夾,放在這個文件夾…

c遺傳算法的終止條件一般_Matlab2 :Matlab遺傳算法(GA)優4~-r-具箱是基于基本操作 聯合開發網 - pudn.com...

Matlab2所屬分類:matlab例程開發工具:PDF文件大小:115KB下載次數:76上傳日期:2007-09-07 20:04:29上 傳 者:錢廣說明: :Matlab遺傳算法(GA)優4~-r-具箱是基于基本操作及終止條件、二…

用程序輸出表格

做應用程序的時候經常需要輸出excel表格,除了不同語言接口完善程度不同的麻煩以及要添加各種外部引用的麻煩之外還要考慮應用環境不同的office版本的問題,實在麻煩 當只需要輸出數據,不管顏色什么的的話,有個避免上述麻煩的辦法就…

elk系列1之入門安裝與基本操作

preface 我們每天都要查看服務器的日志,一方面是為了開發的同事翻找日志,另一方面是巡檢服務器查看日志,而隨著服務器數量以及越來越多的業務上線,日志越來越多,人肉運維相當痛苦了,此時,參考現…

Java 7 –反編譯項目硬幣

大家好,該是從2012年開始寫作的時候了。正如您在其他博客中可能已經看到的那樣,有一些更改可以使您使用Java編程時的開發人員生活變得更加輕松:Diamond運算符,Switchs中的Strings,嘗試使用資源,多次捕獲等 …

git安裝后找不見版本_無法安裝最新版本的Gitlab

這個問題不是代碼,而是Gitlab的安裝.我現在試圖安裝Gitlab幾天沒有成功.實際上,很久以前,他們提出了使用wget的方法非常好,但由于我們必須使用Curl的方法,所以不可能比下載更進一步.在Ubuntu 14.04機器上,以下命令有效:curl https://packages.gitlab.com/install/re…

在Excel表里面插入背景圖

工作中我們會經常用到MS Excel,通常我們打開MS Excel,里面的工作表都是空白單調的背景。當然了,MS Excel可以在工作簿里面插入背景圖片。那么問題來了,如果你沒有安裝Microsoft Office,該如何在Excel文件里面插入好看的…

Java 7:復制和移動文件和目錄

這篇文章是我關于Java 7 java.nio.file軟件包的系列文章的繼續,這次涵蓋了文件的復制和移動以及完整的目錄樹。 如果您曾經對Java缺少copy和move方法感到沮喪,那么請繼續閱讀,以免麻煩。 涵蓋范圍中包括非常有用的Files.walkFileTree方法。 但…

java 五子棋項目_Java項目如何實現五子棋小游戲

Java項目如何實現五子棋小游戲發布時間:2020-07-21 14:53:06來源:億速云閱讀:77作者:小豬小編這次要給大家分享的是Java項目如何實現五子棋小游戲,文章內容豐富,感興趣的小伙伴可以來了解一下,希…

Java中多線程的使用!!

簡介: 1.要了解多線程,首先我們得先了解進程和線程。那么什么是進程?進程就是一個正在運行的程序分配內存讓應用程序能夠運行的叫做進程。那么什么又是線程呢?線程:在一個程序中,負責代碼的執行&#xff0c…

java pkcs1轉pkcs8_pkcs1與pkcs8格式RSA私鑰互相轉換

1、PKCS1私鑰生成openssl genrsa -out private.key 1024private.key文件內容如下:-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQDREk3uy4x9i4a16OYOYEp5Ir2f16lsmUHB2HjGDlxkU0ju9YApyeZlUXb191ZkxJ2vx2vKppN4gKLDy5r7JMTpwch1CNvceySX6DiM4lwTAnUEZiBYgNBNrKINEt…

嵌入式碼頭,Vaadin和焊接

當我開發Web應用程序時,我希望能夠從Eclipse快速啟動它們,而不必依賴各種重量級的tomcat或glassfish插件。 因此,我通常要做的只是創建一個可以直接從Eclipse運行的基于Java的簡單啟動器。 該啟動器會在幾秒鐘內啟動,因此使開發工…

創建真機調試證書(蘋果開發者平臺各個選項對應的含義)

創建真機調試證書(蘋果開發者平臺各個選項對應的含義) 原文地址:http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html轉載于:https://www.cnblogs.com/siasyl/p/5340593.html

gl.vertexAtteib3f P42 講數據傳給location參數指定的attribute變量

參數  location  指定將要修改的attribute變量存儲位置 v0  指定填充attribute變量第一個分量的值 v1  指定填充attribute變量第二個分量的值 v2  指定填充attribute變量第三個分量的值 var VSHADER_SOURCE attribute vec4 a_Position;\n void main(){\n gl_Posit…

將Spring集成到舊版應用程序中

所有Spring開發人員喜歡做的事情之一就是將Spring塞入他們正在工作的任何應用程序中–這是我生活中的罪惡感之一:您看到一些代碼,認為它是垃圾,因為它包含幾個眾所周知的反模式,然后想想如果這個應用程序是Spring應用程序會多么酷…

java自己實現ioc_springioc原理、springmvc項目分析、自己實現IOC

從一個面試題開始:你自己實現IOC容器的話,保存bean你會使用什么數據結構來保存呢?現在的很多開發人員(甚至3年以上的)不一定能回答這問題,為什么會這樣呢?這個跟現在springboot現在已經高度成熟了,很多配置…