首先,感謝回答:)
今天,我想更好地瞭解如何原型的作品在行家here看教程,althought還是很disapointing。
我的問題是,當我嘗試執行mvn archetype:generate指令時,我在maven中發生構建失敗。這是儘可能簡單的,我的問題。構建問題表明「定義的工件不是原型」。
我已經嘗試了遞減指令archetype:create和錯誤大致相同,但它增加了'嵌入式錯誤:無法找到META-INF/maven/archetype.xml描述符'。在我的原型中有一個archetype.xml,所以看起來下降的指令有一個很好的理由。
我總指令在如下
mvn archetype:generate
-DgroupId=my_groupid
-DartifactId=my_artifactid
-Dversion=1.0
-DarchetypeGroupId=archetype-foo-lib
-DarchetypeArtifactId=my.archetype.foo
-DarchetypeVersion=1.0
-DarchetypeRepository=C:/.m2/repository
-Dbasedir=C:/.m2/repository/archetype-foo-lib
-B
-DinteractiveMode=false
在BASEDIR我pom.xml中和dom4j.jar和庫達(在一個小Tomcat服務器)。此外,還會安裝原型,並且archetypegroupid,archetypeartifacid和archetypeversion與src \ main \ resources \ archetype-resources文件夾中的相同。我也嘗試在baseir中將斜槓改爲'\'(以防萬一),但沒有更好的結果。
因爲我現在試圖直接在maven控制檯中執行它,您可以忘記webapp項目和所有這些東西。一旦它開始在控制檯上工作,我希望能夠在那裏工作。
唉!我也有堆棧跟蹤(因爲我也做到了這一點與-e參數)
+ Error stacktraces are turned on.
[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] 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 {execution: default-cli}]
[INFO] Generating project in Batch mode
[INFO] Archetype defined by properties
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] The defined artifact is not an archetype
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: The defined artifact is not an archetype
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone
Goal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:284)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:6
0)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoFailureException: The defined artifact is
not an archetype
at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execu
te(CreateProjectFromArchetypeMojo.java:201)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:694)
... 17 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Tue Mar 30 11:08:59 CEST 2010
[INFO] Final Memory: 8M/15M
[INFO] ------------------------------------------------------------------------
由於庫可能是壞的,我也改變了-Darchetyperepository到c:.m2目錄\庫,但它也失敗myserably使不同的東西成爲一體。
我希望這篇文章更有洞察力。
感謝所有:) 隨機
編輯:好了,新的數據。我知道調查爲什麼它似乎不是一個原型,似乎mvn archetype:generate -DarchetypeCatalog = local有0原型。所以它似乎沒有安裝。我已經完成了mvn安裝和mvn原型:爬網,但它不起作用。 任何想法,爲什麼它不讓我安裝我自己的原型? 再次感謝:)
再次編輯:解決了本地原型的問題,我必須將archetype-catalog.xml從〜/ .m2/repository /移動到〜/ .m2 /然後就像Maven找到了我的地方原型。奇怪的是,它仍然給我同樣的錯誤。我也更改了我的原型庫和基本目錄。
最後編輯(我希望如此!):好的,我終於找到了錯誤。這太愚蠢了,我覺得我自己寫下來(這已經過了三天了)。我的archetypeArtifactId和我的archetypeGroupId在哪裏交換(我的意思是,一個是另一個)。一旦我開始傳遞corrtect參數(在archetype-catalog.xml中定義,雖然我仍然需要移動到正確的位置),但它開始創造奇蹟。也感謝所有peoplo誰讀或寫:)
感謝您的迴應:)不幸的是,網絡應用程序正在尋找正確的地方,我服務正確的pom.xml。此外,網絡。xml的安全性非常低,因爲它將成爲一個Intranet項目(它實際上對於開發問題都是禁用的)。我試着用maven控制檯(請參閱我的其他帖子),可能是我失敗的一些maven配置。 謝謝! – Random 2010-03-30 09:56:38