2014-09-01 39 views
2

我试图创建空的Maven Web项目与现有的目录生成achetype(从github上项目实际上,它是空的,并且只包含自述文件)。在Maven的存在目录

但行家看来,以检测是否存在目录和失败,错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:generate (default-cli) on project standalone-pom: Directory loms already exists - please run from a clean directory -> [Help 1] 

任何机会,以迫使行家使用现有的目录?

调用命令:

mvn archetype:generate -DgroupId=org.reaver.devs -DartifactId=loms -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false 
+0

为什么不在创建项目之前简单地删除该目录? – Seelenvirtuose 2014-09-01 06:55:07

+1

@Seelenvirtuose由于该目录已经包含'.git'目录,我猜... – Riduidel 2014-09-01 09:38:35

回答

0

由于目录已经存在,Maven将无法生成具有相同名称的另一产物项目。而且,由于你的的LOM目录是一个Git项目,这是不能接受的,删除它,你可以按照一个取巧的办法:

  • 生成一个项目,你需要的原型,但与diferrent工件名称(只是将服务作为交换目录):

    mvn archetype:generate -DgroupId=org.reaver.devs \ 
             -DartifactId=loms-2 \ 
             -DarchetypeGroupId=org.apache.maven.archetypes \ 
             -DarchetypeArtifactId=maven-archetype-webapp \ 
             -DinteractiveMode=false 
    
  • 上面的命令将产生与Maven自然一个新的目录,它在你期待什么,你的LOM项目绝对适合,预计<artifactId>的pom.xml必须更新为的LOM(请注意,我将使用命令行,但你可以使用任何可视化工具来更新文件):

    vi pom.xml 
    
  • 取出-2 suffixe在artifactId所以它匹配loms

  • 复制所有文件/下的LOM-2/目录到项目目录的LOM/文件夹。

  • 现在您已经初始化了您的项目。

+0

嗯,我知道棘手的方法。实际上,如果rename已经存在目录到临时名称和创建loms项目,你真的没有必要在合并后正确的pom.xml。但问题是如何做到这一点没有技巧,仰卧起坐,黑客。 maven的一些选项。 – 2014-09-04 08:55:42

+0

然后Maven没有选项。 – tmarwen 2014-09-04 11:32:24