archetype作为一个工程模板,为开发者提供了快速构建项目的能力。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
可以利用SpringInitializr从零搭建一个springBoot工程。我这里使用的工程参数如下:
groupId=com.csdn.qcsj
artifactId=application-parent
version=1.0.0-SNAPSHOT
创建自己需要的module
以下是我这里构建完成的module,这里不方便具体写模块,就用moduleA和moduleB代替了。
qcsj-application这个module下的工程结构就是后面我们通过archetype构建脚手架后的目录结构,且这里的工程名称会在构建时被填入的artifactId字段替换。
【注】这里要注意一下,图中红框的这三处要保持一致,尤其是pom依赖中的artifactId字段
这里根据自己脚手架模块数量,对应修改每个模块中的pom。主要需要注意parent标签里面的内容和groupId、artifactId。下面我将该工程内的pom做一下介绍。
注意一下红框内的两处:
A: 需要将module自动生成的内容,修改为spring-boot的相关依赖。
B: 需要注明该module的groupId、artifactId,这两个字段会在后面生成archetype模板时被占位符所替换,所以此处的设置需要注意。而且需要在modules标签中注明子模块的artifactId。最后可以将模板工程中的所需要的相关依赖加在这个pom中。
3. 最后看下qcsj-application-moduleA层的pom
如图,在java目录下,创建3+1层目录结构,前三层为groupId,第四层为moduleId,前三层在生成脚手架时也会被输入的groupId所替换。
在完成以上几个步骤,就代表着我们的脚手架的架子已经搭建好了。接下来就是对脚手架的填充了,例如,预置一些filter,config,utils等。这里需要注意的是,如果只创建了package,但是该package中没有创建Java文件,则在生成archetype的时候不会对1.4中说明的3+1层的结构目录进行创建。
从cmd终端进入qcsj-application所在的目录,输入
mvn archetype:create-from-project
当命令执行完,则会在tartget目录下生成如下图所示的内容。
图中,最外层的红色框代表archetype模板的目录结构,可以看出和我们当时设置的结构是一样的,工程中的qcsj-application被**__rootArtifactId__替换了。各个module中的groupId**、artifactId、version也被占位符所替换。如下图所示。
这样就代表着archetype模板生成成功了。接下来,需要将模板安装在maven中,在archetype-reources目录下,使用命令
mvn install
将archetype模板安装的本地的maven中。
使用命令
mvn archetype:crawl
查看生成的archetype模板信息。生成结果在maven本地仓库中的“archetype-catalog.xml”文件中。
请记住其中的groupId、artifactId、version标签的内容。这三个字段的值,在使用archetype模板构建工程时将会被用到。具体使用方式第三章将讲到。
maven私服的搭建这里就不细讲了,小伙伴们可以去网上找找看,很多帖子都讲到了。我这里使用的是nexus搭建的私服。
在qcsj-application层的pom中,需要加入下面关于maven发布仓库的配置
<distributionManagement>
<repository>
<id>maven-releasesid>
<name>maven-releasesname>
<url>http://localhost:8081/repository/maven-releases/url>
<layout>defaultlayout>
repository>
<snapshotRepository>
<id>maven-snapshotsid>
<name>maven-snapshotsname>
<url>http://localhost:8081/repository/maven-snapshots/url>
<layout>defaultlayout>
snapshotRepository>
distributionManagement>
其中url标签为maven仓库的地址,id标签也要和maven仓库相对应。
将工程重新clean 后,重新编译,并结合maven的deploy功能,可以实现对archetype模板的发布。
在构建完成archetype模板后,我们将测试一下,我们生成的archetype模板是否能被使用。
如下图,选择“maven”构建工程,点击“Create from archetype”,点击“Add Archetype…”,输入“archetype-catalog”查到的groupId、artifactId、version这三个标签的内容,填入下图中输入框内,即可。后续操作与构架普通的maven功能一致,这里将不再细述。
mermaid语法说明 ↩︎