lba*_*scs 24 java maven-3 maven
我有一个pom.xml文件(从另一个项目复制并改编),我想生成一个新项目的目录结构.哪个命令可以做到这一点?
请注意,我在网上找到了无数的例子,它解释了如何使用mvn archetype:create来创建一个pom.xml文件和目录结构,但我已经有了一个pom.xml,我想创建基于的目录在命令行上没有指定groupId,artifactId等.
mvn archetype:create-from-project似乎也创建了一个基于另一个pom.xml(?)的pom.xml,但我只想要这些目录.先感谢您!
编辑:我知道这不是一个"大问题",因为我可以手动创建目录:)我已经做了很多次了,我总觉得必须有一个更聪明的方法来做...
quu*_*x00 16
我同意应该有一种方法来指定maven本身应该查看我的pom并从中生成project/dir结构.我不知道如何做到这一点,但这就是我所做的:
第1步:将已创建的pom.xml移动到其他位置(如果您已经在将运行下一个命令的目录中拥有它,maven会抱怨)
第2步:从命令行,在新的maven项目目录中执行:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=my.package.path -DartifactId=myartifact
Run Code Online (Sandbox Code Playgroud)
您必须编辑groupId和artifactId以匹配您的pom(叹气),但这会为您创建基本目录结构以及默认Java类和单元测试.
第3步:将pom.xml移动/复制到该项目目录中
第4步:运行一些maven命令,mvn clean package或者mvn dependency:tree开始下载依赖项
注意:我之所以包含这个答案是因为之前的一些答案建议使用mvn archetype:create,但根据maven网站的说法,该目标已被弃用以支持使用generate.我想展示如何独立于任何IDE或IDE插件来完成它.
Mat*_*att 12
不要听起来居高临下,但是:
mkdir -p src/main/java
mkdir -p src/main/resources
mkdir -p src/test/java
mkdir -p src/test/resources
Run Code Online (Sandbox Code Playgroud)
(或随意替换不同的目录).
我不知道任何maven命令将为您创建此结构而不创建新的pom文件.