archetype脚手架--创建(一)

很多时候,我们生成的项目都是固定结构的,并且可能部分内容都是相同的

archetype项目就是为了生成固定目录结构的项目,省去每次一个一个模块的创建,与固定内容的复制黏贴

准备

IDEA 使用脚手架创建项目
首先,配置Maven 安装环境变量,比如系统环境变量MAVEN_HOME和PATH中添加%MAVEN_HOME%/bin

检查maven 安装环境和环境变量配置OK

  • CMD >> mvn -version
  • CMD >> echo %MAVEN_HOME%

然后需要确定你是否需要创建多个不同的脚手架:

  • 如果你需要多个脚手架,你可以创建一个父级框架,并分别在不同子模块中分别设置你的不同脚手架
  • 如果你只需要创建一个脚手架,那么你不需要创建子模块

你可创建多个项目,每个项目生成一个脚手架的骨架;也可以只创建一个项目,项目中的每个模块生成一个骨架;

创建脚手架

创建maven项目
在这里插入图片描述
在这里插入图片描述

如果需要创建多个脚手架,需要有父框架,然后根据需要添加module,否则可以不需要创建子module,直接在项目中创建所需结构即可

脚手架结构模式

项目直接生成骨架模式

在这里插入图片描述
以上项目结构中没有子模块,只能生成一个骨架,但是如果还需要其它不同脚手架,以上方式只能通过创建新的项目的方式;

如果希望是扩展形式的,不创建新项目的前提下,新增生成骨架,可以通过添加模块的方式增加生成的骨架,新增模块方式如下:

多模块生成骨架模式

创建项目archetype-module
通过改方式可以创建多个项目的骨架,每添加一个模块可以用于生成一个骨架
选中项目,鼠标右键,new->Module
在这里插入图片描述
在这里插入图片描述
创建如下目录parent-maven-archetype
在这里插入图片描述
可以根据需要不断在parent-maven-archetype下添加模块

以上两种方式的本质区别其实就是多个front-shell-archetype项目合并在一起形成多模块项目

脚手架结构说明

以front-shell-archetype 为例进行说明

在这里插入图片描述

pom.xml

项目根目录下文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.domain.archetype</groupId>
  <artifactId>front-shell-archetype</artifactId>
<!--用于声明archetype 项目,必须包含-->
  <packaging>maven-archetype</packaging>
  <name>front-shell-archetype</name>
  <version>0.0.2-SNAPSHOT</version>

  <build>
<!--用于打包archetype 项目,必须包含-->
    <extensions>
      <extension>
        <groupId>org.apache.maven.archetype</groupId>
        <artifactId>archetype-packaging</artifactId>
        <version>3.1.2</version>
      </extension>
    </extensions>

    <pluginManagement>
      <plugins>
	<!--用于打包archetype 项目,必须包含-->
        <plugin>
          <artifactId>maven-archetype-plugin</artifactId>
          <version>3.1.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <scm>
    <connection>scm:git:https://git.domain.cn/front-shell-archetype.git</connection>
    <developerConnection>scm:git:https://git.domain.cn/front-shell-archetype.git</developerConnection>
    <url>https://git.domain.cn/front-shell-archetype.git</url>
  </scm>

  <distributionManagement>
    <repository>
      <id>Release</id>
      <name>Releases</name>
      <url>http://alm.domain.cn/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
      <id>Snapshot</id>
      <name>Snapshots</name>
      <url>http://alm.domain.cn/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>
</project>

archetype-resources

  • 所有的项目骨架内容都集中在src/main/resources/archetype-resources文件夹下
  • archetype-resources中的pom.xml定义了待生成项目的pom文件的内容
  • archetype-resources中的__gitignore__定义了待生成项目的__gitignore__文件的内容
  • rootArtifactId-*文件夹下,/src/main/java、/src/test/java中分别定义了待生成项目中相应目录下的内容
    在这里插入图片描述

archetype-resources固定名称,最好不要变更,用于定义生成项目中的模块

META-INF/maven

/src/main/resources/META-INF/maven/archetype-metadata.xml中定义相关的元数据描述(其中该文件的位置固定为resources/META-INF/maven文件夹下,且名称固定为archetype-metadata.xml)。

archetype-metadata.xml对archetype-resources文件夹下的内容进行过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三知之灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值