Archetype 是 Maven 的项目模板工具包,用于快速创建项目的初始结构。
通过现有的 Maven 项目可以生成骨架,然后通过骨架快速地创建新的项目。
从项目创建骨架
首先在现有的 Maven 项目根目录下执行如下命令:
bash
mvn archetype:create-from-project
这个命令会自动在当前项目根目录的 \target\generated-sources\archetype\
路径下生成骨架的代码。
打开其中的 pom.xml 文件可以看到项目的 GroupId、ArtifactId 等。默认的 ArtifactId 为当前项目的 ArtifactId 加 -archetype
。
[!CAUTION] 注意
本地执行时发现项目运行时生成的日志文件也会被复制过去,最好在执行下一步操作前将这些文件删除掉。
安装骨架
cd
到该目录下执行如下命令:
bash
mvn clean install
这个命令本身的功能就是将 Maven 项目安装到本地仓库,对于 archetype 来说也是一样的。
从骨架创建项目
在 JetBrain IDEA 的新建项目页面,通过 Archetype 右边的 添加 按钮将刚刚安装的骨架加进列表,参数同骨架代码的 pom.xml 里一致即可。
[!CAUTION] 注意
本地使用正在做的一个项目测试时发现,新创建的项目的
version
全部都变成了1.0-SNAPSHOT
。另外一个虽然有层级关系的子包,但是原项目中这个子包没有设置<parent>
,但是通过骨架创建的新项目中却自动把<parent>
标签加上了。
[!WARNING] Archetype 添加后下拉框中看不到不知道为什么,我这边在添加骨架后直接使用时没有问题,但是再次打开新建项目页面时,看不到刚刚添加的骨架。
看到有文章说是在 设置 → 构建、运行、部署 → 构建工具 → Maven → 仓库 页面更新仓库后就可以看到了,但是我这边更新后仍然看不到。
另外,本地仓库的根目录下面确实有一个 archetype-catalog.xml 文件,而且里面包含上面安装的 archetype 的,但是将目录切换到 默认本地 后 Archetype 下拉框仍然是空的。
[!NOTE] 参考