簡體   English   中英

您知道的所有Maven Archetype目錄的URL是什么?

[英]What are the URLs of all the Maven Archetype catalogs that you know about?

Maven Archetypes是“模板”,通過它您可以快速生成給定框架或項目類型的運行示例。 我正在嘗試編譯當前在網上活動的所有Maven原型目錄的列表。

從有關目錄文件的Maven文檔

關於原型的知識存儲在目錄中。

目錄是xml文件。

Archetype插件捆綁了內部目錄。 默認情況下使用此選項。

Archetype插件可以使用本地文件系統和HTTP連接中的目錄。

到目前為止,我已經收集了這個發布目錄的存儲庫列表,但是很想知道是否有人知道更多:

mvn archetype:generate
-DarchetypeCatalog=local
-DarchetypeCatalog=remote
-DarchetypeCatalog=http://repo.fusesource.com/maven2
-DarchetypeCatalog=http://cocoon.apache.org
-DarchetypeCatalog=http://download.java.net/maven/2
-DarchetypeCatalog=http://myfaces.apache.org
-DarchetypeCatalog=http://tapestry.formos.com/maven-repository
-DarchetypeCatalog=http://scala-tools.org
-DarchetypeCatalog=http://www.terracotta.org/download/reflector/maven2/

鏈接到相同的:1) FuseSource 2) Cocoon 3) Java.net 4) MyFaces 5) Tapestry 6) Scala目錄 7) Terracotta目錄

您會注意到,如果存儲庫實際發布了原型目錄(以上所有內容),您將獲得該archetype-catalog.xml找到的所有選項的UI提示。 例如:

mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org

[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://scala-tools.org -> scala-archetype-simple (A simple scala project)
2: http://scala-tools.org -> lift-archetype-blank (A blank/empty liftweb project)
3: http://scala-tools.org -> lift-archetype-basic (A basic liftweb project (with DB, css, ...))
Choose a number:  (1/2/3):

例如,如果要直接查看Scala目錄文件,可以瀏覽到http://scala-tools.org/archetype-catalog.xml

但是如果存儲庫沒有提供archetype-catalog.xml,那么就像PascalT所說的那樣,你需要提前知道名稱(更不方便)並在命令行參數中傳遞它。

說實話,我並沒有真正看到建立所有目錄列表的重點。 對我來說,首先選擇項目然后根據需要添加目錄看起來更“自然”。 這就是為什么IMO在原型列表中有更多價值的原因。 即使您在列表中包含所有目錄,您仍然需要他們的名字。

無論如何,這里有一些候選人;

編輯:在馬修澄清原型的目錄之后。

我誤解了一些概念,我的回答並不明確和正確。

目錄的要點就是不必提前知道原型的名稱 它們用於發布原型並允許mvn archetype:generate列出原型。 因此,在使用mvn archetype:generate時,添加“外部”目錄(不在內部理解)以獲得更廣泛的已知原型列表是有意義的。

對於沒有目錄的原型,用戶必須鍵入一個必須在某處記錄的可怕命令(因為它需要知道該工件)。

關於我的主張:

  • Atlassian的原型在內部目錄中。 不是一個好主意。

  • Grails原型不在內部目錄或已發布的archetype-catalog.xml 不是一個好主意。

  • ServiceMix在此處有目錄http://servicemix.apache.org/tooling/ (基於http://servicemix.apache.org/tooling/<version>/archetype-catalog.xml模式)。 有效的主張。


在挖掘這個時我學到了一件有趣的事情。 maven人提供了一個很好的工具,幫助人們開發原型來創建目錄XML: archetype:crawl目標基本上抓取本地Maven存儲庫搜索Archetypes並生成/更新~/.m2/repositoryarchetype-catalog.xml文件默認情況下。 項目,人們只需定期運行如下:

mvn archetype:crawl -Dcatalog=/var/www/html/archetype-catalog.xml

Grails不提供目錄。 要創建項目, 我們必須運行

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails \
-DarchetypeArtifactId=grails-maven-archetype \
-DarchetypeVersion=1.0 \
-DarchetypeRepository=http://snapshots.repository.codehaus.org \
-DgroupId=example -DartifactId=my-app

但是一旦我們這樣做了,我們在本地存儲庫中就有了原型。 所以,如果我們輸入:

mvn archetype:crawl -Dcatalog=/home/<me>/.m2/archetype-catalog.xml

原型列在~/.m2/archetype-catalog.xml ,我們現在也可以使用mvn archetype:generate for Grails(參見選項5):

mvn archetype:generate
...
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: local -> maven-archetype-archetype (archetype)
2: local -> maven-archetype-j2ee-simple (j2ee)
3: local -> maven-archetype-quickstart (quickstart)
4: local -> maven-archetype-webapp (webapp)
5: local -> grails-maven-archetype (maven-project)
6: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
...

這當然是一個(丑陋的)解決方法,它可能有副作用(你不會看到新版本的原型)。 實際上,我不認為原型:抓取目標是用於此用途。 我希望所有項目都能發布他們的原型。

有關Maven Archetype列表,請參閱此鏈接http://www.myjeeva.com/2012/06/exclusive-maven-archetype-list/ (您將找到大約607個Archetypes)。

在使用mvn archetype:generate命令時, Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 197:

從上面的鏈接提供原型號碼

注意:默認值為197

  • 197 - > org.apache.maven.archetypes:maven-archetype-quickstart(一個包含示例Maven項目的原型。)

由Nexus生成並由M2eclipse使用的nexus索引知道所有原型,並允許您在從ide創建新的maven項目時選擇它們。

兵馬俑有一個,但我不知道手中的網址...會回復。 此外,我過去使用過AppFusehttp://static.appfuse.org/releases/ )和Webtide的原型,雖然我不知道在哪里可以找到他們的原型目錄。

Terracotta存儲庫和目錄在這里: http//www.terracotta.org/download/reflector/maven2/

也許這很有用: http//docs.codehaus.org/display/MAVENUSER/Archetypes+List

Codehaus還有另一個資源,可以在網上找到一個非常強大的原型列表。 http://docs.codehaus.org/display/MAVENUSER/Archetypes+List

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM