Java 如何创建一个空的多模块Maven项目?
现在,我通常在web上找到一个Java 如何创建一个空的多模块Maven项目?,java,maven,Java,Maven,现在,我通常在web上找到一个pom.xml文件,该文件包含一个pom打包并复制粘贴以创建我的父项目。然后,我曾经在父目录中运行archetype:create来创建子模块,但是archetype:create从那时起就被弃用了 关于如何创建新的Maven多模块项目有什么建议吗?我不确定是否正确理解了您的问题,但对于创建多模块项目,我通常使用简单的pom(在根级别): 4.0.0 com.vijaykiran 我的项目父项 1 聚甲醛 m1 平方米 这可能是您可以使用的最简单的多模块父pom
pom.xml
文件,该文件包含一个pom
打包并复制粘贴以创建我的父项目。然后,我曾经在父目录中运行archetype:create
来创建子模块,但是archetype:create
从那时起就被弃用了
关于如何创建新的Maven多模块项目有什么建议吗?我不确定是否正确理解了您的问题,但对于创建多模块项目,我通常使用简单的pom(在根级别):
4.0.0
com.vijaykiran
我的项目父项
1
聚甲醛
m1
平方米
这可能是您可以使用的最简单的多模块父pom。您要创建的项目可能已经有一个原型,可以帮助您创建结构。虽然您可以从IDE获得帮助来自己编写pom,但是如果您想要构建的项目类型有可用的原型,通常更容易使用。
mvn原型:create
已被弃用,取而代之的是mvn原型:generate
,因此名称已更改。官方存储库中的多模块项目有一个原型,因此运行此命令会产生(最低限度的)结果:
[axe@gromp测试]$mvn原型:生成
..
:remote->pom root(用于创建多模块项目的根项目原型)
..
选择一个数字:109:
..
[axe@gromp测试]$tree
.
└── 模块测试
└── pom.xml
1个目录,1个文件
[axe@gromptest]$cat modules.test/pom.xml
4.0.0
com.example
模块测试
1.0-快照
聚甲醛
模块测试
因此,基本上您必须自己创建文件夹结构和模块描述符(pom.xml文件)。如果您多次需要,使用简单的shell脚本或批处理文件将很容易做到这一点。如果您正在使用eclipse IDE,则应使用。这是创建多模块项目的最简单方法之一。通过在eclipse中创建一个“maven模块项目”,可以向每个maven项目添加一个模块。执行此操作时,您可以选择父项目。插件完成了所有操作,这意味着它将新模块复制到父模块,并修改pom.xml文件。如果要避免xml复制粘贴,请执行简单的4个步骤
我发现最简单的方法是使用
pom根
原型创建顶级pom,然后重复使用原型:generate
分别创建每个模块。这将自动将模块添加到根pom(聚合器)中,并将根pom设置为每个模块的父pom(编辑:显然,某些原型可以有硬编码的父pom,但它适用于maven原型快速启动
)
以下是分类:
mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion=RELEASE
cd
插入新创建的根目录mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=RELEASE
请注意,上面的
-DarchetypeVersion=RELEASE
将自动使用原型的最新版本。您可能希望将-DgroupId=…
添加到这些命令中,以避免重复您自己的操作。下面是一个关于如何使用Intellij Idea执行此操作的屏幕广播。首先,启动一个新项目(文件->新建项目),选择“Maven模块”:
键入名称,单击“下一步”,在以下步骤中不更改任何其他内容,单击“完成”
现在在pom.xml
中键入
并启用自动更新:
输入模块:
将光标置于m1
并按Alt+Enter键
模块m1
将自动添加到您的项目中。现在您可以对m2
执行Alt+Enter操作,就这样
您也可以从为项目的现有模块添加pom.xml
开始:在项目树中右键单击它,“添加框架支持…”,选择“Maven”。这将创建一个pom.xml
与我刚才添加的groupId、artifactId和version选项以及禁用交互模式相同的答案
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion=RELEASE \
-DinteractiveMode=false \
-DgroupId=com.mycompany.app \
-DartifactId=my-app \
-Dversion=1.0.0-SNAPSHOT \
考虑一个父项目bookmarks和3个子模块rest、security和model,参见。 它没有Spring文档中的依赖项,只是从多模块的角度来看的基本设置 以非交互模式/批处理模式创建父maven项目
mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion=RELEASE \
-DgroupId=bookmarks \
-DartifactId=bookmarks \
-Dversion=0.0.1-SNAPSHOT \
-DinteractiveMode=false
以非交互模式/批处理模式创建子模块
将cd放入新创建的根目录中。指的是@
-Dpackage是包结构。这是书签。
如果未指定,则它将将ARTARFATID视为默认包
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=RELEASE \
-DgroupId=model \
-DartifactId=model \
-Dversion=0.0.1-SNAPSHOT \
-Dpackage=bookmarks \
-DinteractiveMode=false
要在EclipseGoto文件->新建->其他->maven->maven模块中创建新模块,这将立即显示在eclipse工作区包资源管理器中
或者从cli,父文件夹中的cd,在此处添加书签并运行以下操作,它将
创建项目,然后您必须将其作为maven项目导入eclipse,或者可以从父项目(此处为书签)开始工作
mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion=RELEASE \
-DgroupId=bookmarks \
-DartifactId=bookmarks \
-Dversion=0.0.1-SNAPSHOT \
-DinteractiveMode=false
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=RELEASE \
-DgroupId=model \
-DartifactId=model \
-Dversion=0.0.1-SNAPSHOT \
-Dpackage=bookmarks \
-DinteractiveMode=false
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=RELEASE \
-DgroupId=security \
-DartifactId=security \
-Dversion=0.0.1-SNAPSHOT \
-Dpackage=bookmarks \
-DinteractiveMode=false