使用IDEA构建archetype脚手架并发布nexus私库

使用IDEA构建archetype脚手架并发布nexus私库

  • 一、利用IDEA搭建archetype脚手架
    • 1.1搭建工程
    • 1.2构建maven工程模块
    • 1.3 修改pom.xml
    • 1.4创建代码脚手架目录
    • 1.5 添加预置代码
    • 1.6 生成archetype模板
  • 二、archetype模板发布到私服
    • 2.1 pom的配置
    • 2.2 发布
  • 三、archetype模板的使用

一、利用IDEA搭建archetype脚手架

archetype作为一个工程模板,为开发者提供了快速构建项目的能力。

1.1搭建工程

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

可以利用SpringInitializr从零搭建一个springBoot工程。我这里使用的工程参数如下:
groupId=com.csdn.qcsj
artifactId=application-parent
version=1.0.0-SNAPSHOT

下图是利用SpringInitializr构建出的工程
使用IDEA构建archetype脚手架并发布nexus私库_第1张图片

1.2构建maven工程模块

创建自己需要的module
在这里插入图片描述
以下是我这里构建完成的module,这里不方便具体写模块,就用moduleA和moduleB代替了。
qcsj-application这个module下的工程结构就是后面我们通过archetype构建脚手架后的目录结构,且这里的工程名称会在构建时被填入的artifactId字段替换。
使用IDEA构建archetype脚手架并发布nexus私库_第2张图片

【注】这里要注意一下,图中红框的这三处要保持一致,尤其是pom依赖中的artifactId字段

1.3 修改pom.xml

这里根据自己脚手架模块数量,对应修改每个模块中的pom。主要需要注意parent标签里面的内容和groupIdartifactId。下面我将该工程内的pom做一下介绍。

  1. 首先看下application-parent层的pom
    使用IDEA构建archetype脚手架并发布nexus私库_第3张图片
    注意重点关注一下红框内的四处内容,要与相应的模块对应。
  2. 再来看下qcsj-application层的pom
    使用IDEA构建archetype脚手架并发布nexus私库_第4张图片

注意一下红框内的两处:
A: 需要将module自动生成的内容,修改为spring-boot的相关依赖。
B: 需要注明该module的groupIdartifactId,这两个字段会在后面生成archetype模板时被占位符所替换,所以此处的设置需要注意。而且需要在modules标签中注明子模块的artifactId。最后可以将模板工程中的所需要的相关依赖加在这个pom中。
3. 最后看下qcsj-application-moduleA层的pom
使用IDEA构建archetype脚手架并发布nexus私库_第5张图片

1.4创建代码脚手架目录

如图,在java目录下,创建3+1层目录结构,前三层为groupId,第四层为moduleId,前三层在生成脚手架时也会被输入的groupId所替换。
使用IDEA构建archetype脚手架并发布nexus私库_第6张图片

1.5 添加预置代码

在完成以上几个步骤,就代表着我们的脚手架的架子已经搭建好了。接下来就是对脚手架的填充了,例如,预置一些filter,config,utils等。这里需要注意的是,如果只创建了package,但是该package中没有创建Java文件,则在生成archetype的时候不会对1.4中说明的3+1层的结构目录进行创建

1.6 生成archetype模板

从cmd终端进入qcsj-application所在的目录,输入

mvn archetype:create-from-project

当命令执行完,则会在tartget目录下生成如下图所示的内容。
使用IDEA构建archetype脚手架并发布nexus私库_第7张图片
图中,最外层的红色框代表archetype模板的目录结构,可以看出和我们当时设置的结构是一样的,工程中的qcsj-application被**__rootArtifactId__替换了。各个module中的groupId**、artifactIdversion也被占位符所替换。如下图所示。
使用IDEA构建archetype脚手架并发布nexus私库_第8张图片
这样就代表着archetype模板生成成功了。接下来,需要将模板安装在maven中,在archetype-reources目录下,使用命令

mvn install

将archetype模板安装的本地的maven中。
使用命令

mvn archetype:crawl

查看生成的archetype模板信息。生成结果在maven本地仓库中的“archetype-catalog.xml”文件中。
请记住其中的groupIdartifactIdversion标签的内容。这三个字段的值,在使用archetype模板构建工程时将会被用到。具体使用方式第三章将讲到。

二、archetype模板发布到私服

maven私服的搭建这里就不细讲了,小伙伴们可以去网上找找看,很多帖子都讲到了。我这里使用的是nexus搭建的私服。

2.1 pom的配置

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仓库相对应。

2.2 发布

将工程重新clean 后,重新编译,并结合maven的deploy功能,可以实现对archetype模板的发布。

三、archetype模板的使用

在构建完成archetype模板后,我们将测试一下,我们生成的archetype模板是否能被使用。
如下图,选择“maven”构建工程,点击“Create from archetype”,点击“Add Archetype…”,输入“archetype-catalog”查到的groupIdartifactIdversion这三个标签的内容,填入下图中输入框内,即可。后续操作与构架普通的maven功能一致,这里将不再细述。
使用IDEA构建archetype脚手架并发布nexus私库_第9张图片


  1. mermaid语法说明 ↩︎

你可能感兴趣的:(java,maven,linux,intellij,idea,spring,boot)