我尝试使用现有的dir创建空的Maven Web项目(实际上来自 github 项目,它是空的并且只包含 README 文件)。
但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]
是否有机会强制maven使用现有目录?
调用命令:
mvn archetype:generate -DgroupId=org.reaver.devs -DartifactId=loms -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
答案 0 :(得分:1)
由于目录已经存在,maven无法生成具有相同名称的另一个工件项目。由于您的 loms 目录是一个git项目,并且删除它是不可接受的,您可以采用一种棘手的方式:
使用您想要的原型生成一个项目但具有不同的工件名称(只是作为交换目录):
mvn archetype:generate -DgroupId=org.reaver.devs \
-DartifactId=loms-2 \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
上面的命令将生成一个具有maven性质的新目录,它绝对符合您对 loms 项目的期望,期望 {em}中的<artifactId>
> pom.xml 必须更新为 loms (请注意,我将使用命令行,但您可以使用任何可视化工具来更新文件):
vi pom.xml
删除artifactId
中的 -2 后缀,使其与 loms 匹配。
将 loms-2 / 目录下的所有文件/文件夹复制到项目目录 loms / 。
现在您已初始化项目。
答案 1 :(得分:-1)
quickstart archetype为此很好。它发出警告,但随后在现有目录(即与artifactId相同)内创建pom.xml和Maven src/
目录结构。
它必须在 PARENT 目录中运行。
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false