maven archetype:generate 的進一步理解

可以說糾結了不少時間了

用mvn archetyoe:generate 時總是會出現以下的情況:

 

正常的應該是

 

$ mvn archetype:generate
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:generate]
Choose archetype:
1: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
2: internal -> appfuse-basic-spring (AppFuse archetype for creating a web application with Hibernate, Spring and Spring MVC)
...........
internal -> maven-archetype-sar (JBoss Service Archive)
36: internal -> wicket-archetype-quickstart (A simple Apache Wicket project)
Choose a number:  (1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36): 15
....

 

 

以前使用一直正常(有一段時間了)

可現在無論在哪臺機器上都是這樣的情況:

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Preparing archetype:generate
[INFO] No goals needed for project - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> docbkx-quickstart-archetype (null)
2: remote -> gquery-archetype (null)
.......
288: remote -> trails-secure-archetype (null)
289: remote -> tynamo-archetype (null)
290: remote -> wicket-scala-archetype (Basic setup for a project that combines Scala and Wicket,
                depending on the Wicket-Scala project. Includes an example Specs
                test.)
291: remote -> circumflex-archetype (null)
Choose a number: 80:
....

  

居然是這樣,到了290了....

而且choose a nubmer 默認寫了個80不知道啥意思..... 選以前的web項目(18) 不管用還是繼續讓我choose version

最後發現可以choose的version 只有 1 和2 ..

根本沒有普通java項目和web項目

咋回事兒?

 

 

 

 

 後來找到了解決方案:

方案1:繞行

mvn archetype:create -DgroupId=[your group id] -DartifactId=[your archetype id] -DarchetypeArtifactId=maven-archetype-webapp

  

方案2 : 謝謝,juvenshun 大哥的幫助。(引用):

可以使用 $mvn archetype:generate -DarchetypeCatalog=internal
archetypeCatalog表示插件使用的archetype元數據,默認值爲remote,local,即中央倉庫archetype元數據(http://repo1.maven.org/maven2/archetype-catalog.xml)加上插件內置元數據的和
由於中央倉庫的archetype太多,導致這個列表太長
因此自己指定僅用內置元數據(20個左右,好像),就可以解決你的煩惱了

 

 

發佈了49 篇原創文章 · 獲贊 0 · 訪問量 5635
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章