2012-06-22 46 views
3

失敗我已經安裝行家2和下面的教程如在下面鏈路Maven原型:產生由org.apache.maven.plugin.MojoFailureException

maven.apache.org/guides/getting-started/提到行家功能於五minutes.html

但在執行原型:生成命令,

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false" 

我提示以下錯誤:

[INFO] Trace 
org.apache.maven.BuildFailureException: Error merging velocity templates 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.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:60) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:616) 
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: Error merging velocity templates 
at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:211) 
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
... 17 more 

For information,

我使用的是Sun OpenJDK 1.6.0,Maven 2和Xubuntu平臺。

任何暗示上述錯誤的幫助將不勝感激。

感謝,

索姆納特

回答

6

它看起來像有一個與文件夾訪問權限的問題..檢查是否在您正在試圖創建一個項目的文件夾被寫保護?如果是這樣,那麼將其權限更改爲777並檢查它是否有效。

+1

其實我試圖整合Eclipse的maven插件,以便我可以構建hadoop-common-project(SVN鏈接是http://svn.apache.org/repos/asf/hadoop/common/trunk/hadoop-common-project /)使用它附帶的pom.xml包。據我所知,我只是試圖從一些原型通用ID創建一個artifactId =/my-app和groupId = com.mycompany.app。它將創建具有某種默認訪問控制的文件夾。我沒有root權限,但我使用的用戶名擁有管理員配置文件。我的意思是我可以運行sudo命令。 – somnathchakrabarti

+0

@somnathchakrabarti有用嗎?因爲你正在使用mvn archetype:生成哪個將創建一個項目,並將在maven本地倉庫中創建相應的組ID相關的文件夾。因此,請確保兩個位置的訪問權限都可供用戶使用。 – om39a

0

我有同樣的錯誤:D,而我所做的是修改了我在其中創建我的項目文件夾(在你的情況'我的應用程序')的文件夾的權限。事實上,當我遇到這個錯誤時,我只是遵循Maven教程的指導原則。

將'/ usr/local/apache-maven /'文件夾權限更改爲775或777應該使它!

1

是的,它肯定是權限錯誤。花了2天的時間,並簡單地使用sudo糾正它:D

2

我也遇到了同樣的問題,我仍然擁有創建文件夾和文件所需的全部權限。但事實證明,有在archetype.xml一個錯誤 - 我試圖在它添加一個文件夾沒有任何文件 -

<testResources> 
    <resource>src/test/resources/</resource> 
</testResources> 

糾正archetype.xml後,我得到了構建成功。