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`。另外一个虽然有层级关系的子包,但是原项目中这个子包没有设置 `
`,但是通过骨架创建的新项目中却自动把 ` ` 标签加上了。 \[!WARNING\] Archetype 添加后下拉框中看不到 不知道为什么,我这边在添加骨架后直接使用时没有问题,但是再次打开新建项目页面时,看不到刚刚添加的骨架。 看到有文章说是在 设置 → 构建、运行、部署 → 构建工具 → Maven → 仓库 页面更新仓库后就可以看到了,但是我这边更新后仍然看不到。 另外,本地仓库的根目录下面确实有一个 *archetype-catalog.xml* 文件,而且里面包含上面安装的 archetype 的,但是将目录切换到 默认本地 后 Archetype 下拉框仍然是空的。 \[!NOTE\] 参考 [IDEA 自定义 Maven 的 archetype](https://link.juejin.cn?target=https%3A%2F%2Fwww.cnblogs.com%2Ftangyouwei%2Fp%2Fidea-zi-ding-yimaven-archetype.html "https://www.cnblogs.com/tangyouwei/p/idea-zi-ding-yimaven-archetype.html")