创建自己的Maven模板

参考链接:

一、其实Maven的模板也是一个maven项目,所以我们首先要生成一个生成模板的模板项目

1.   随便找一个现成的maven项目
     如果没有执行:mvn archetype:create -DartifactId=archetype-template-generator  -DgroupId=test生成一个
2.   进入1.中的maven项目
     执行:mvn archetype:create-from-project
     好了,target/generated-sources/archetype就是我们要的项目了,把这个文件夹整体拷贝出来(当然不拷贝也可以,个人还是习惯独立出来)
     那么这个工程是怎么创建模板的呢,接着看
3.   首先我们修改下这个工程的信息,便于我们安装之后使用
     打开archetype/pom.xml
     <groupId>test</groupId>
     <artifactId>archetype-template-generator-archetype</artifactId>
     <version>1.0-SNAPSHOT</version>
     修改这三项
     然后执行:mvn -Dmaven.test.skip=true clean install
     (当然,高级定制功能我们下面再说,先走一遍最简单的流程)
     如果没有错误,那么现在我们的模板已经安装到本机maven仓库了,接着我们来试着使用这个模板创建一个maven项目
4.   执行:mvn archetype:generate -DarchetypeCatalog=local
     不出意外,我们可以看到3.中安装的模板(如果看不到,请执行:mvn archetype:update-local-catalog进行更新,本地archetype存放在:${user.home}/.m2/archetype-catalog.xml中),选择1
     提示输入目标项目的信息,这里我们根据实际情况输入参数,然后确认Y,这么就根据我们自己的模板创建了一个maven项目,这里的archetype工程我们可以复用

参考链接

二、这一部分我们来定制刚才生成的archetype项目,满足我们生成自定义结果的项目的需求

1.   定制哪些文件会被作为模板
     只要我们把文件放到src\main\resources\archetype-resources目录下面,并且在src\main\resources\META-INF\maven\archetype-metadata.xml中进行配置
     比如:我们添加src\main\resources\archetype-resources\.gitignore,然后在archetype-metadata.xml中添加下面内容:
     <fileSets>
          <fileSet encoding="UTF-8" filtered="true">
               <directory></directory>
               <includes>
                    <include>.gitignore</include>
               </includes>
          </fileSet>
     </fileSets>
     重新mvn -Dmaven.test.skip=true clean install 再次生成项目,就会在新项目中加入.gitignore文件
     其他类似配置,我就不详解了
2.   属性替换
     可以在上面的.gitignore加入${pro-to-replace}内容
     并且在archetype-metadata.xml中添加内容:
     <requiredProperties>
          <requiredProperty key="pro-to-replace"/>
     </requiredProperties>
     我们想这个占位符在实际使用的时候进行替换,这时archetype-metadata.xml中filtered="true"必须配置
     这样如果在生成的向导里会提示我们输入pro-to-replace,当然我们也可以在生成的命令行中用-Dpro-to-replace=XXX进行这是,如果设置了,不会提示我们输入指
     我们也可以像这样设置默认值:
     <requiredProperty key="pro-to-replace">
               <defaultValue>pro-to-replace</defaultValue>
     </requiredProperty>
     当然如果这样,就不会提示你输入属性值,如果不想使用属性值,只有通过-Dpro-to-replace=XXX进行更改

     
     这么一来,重新安装,然执行创建的时候设置属性:mvn archetype:generate -DarchetypeCatalog=local -Dpro-to-replace=pro_value
     生成工程的.gitignore中的${pro-to-replace}就会被替换为pro_value

     注意:这里的属性名称不能包含.
          比如:pro.to.replace是不行的




     

     
创建Maven项目模板通常是为了快速初始化一个新的Java项目结构,并自动配置依赖和生命周期管理。以下是创建一个基本的Maven项目的步骤: 1. **安装Maven**:首先确保你的系统已经安装了Maven,如果没有,可以从官网下载并安装:https://maven.apache.org/download.cgi 2. **初始化目录结构**:在你喜欢的位置,创建一个新的文件夹作为你的项目根目录。 3. **创建pom.xml**: 进入项目根目录,在`src/main`下创建`java`和`resources`文件夹,然后在根目录下创建`pom.xml`文件。这是Maven项目的核心配置文件,用于定义项目信息、依赖等。 4. **添加基本内容**: ```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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>my-project</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <!-- 描述项目基本信息 --> <name>My Maven Project</name> <description>A simple project template using Maven</description> <!-- 设置构建插件 --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <!-- 定义项目的依赖 --> <dependencies> <!-- 添加基础库或者其他依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> </dependencies> </project> ``` 5. **运行`mvn archetype:generate`**: 打开终端或命令提示符,进入项目根目录,运行`mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -quickstart -DgroupId=com.example -DartifactId=my-project`。这将自动生成默认的基本Maven项目结构。 6. **开始编写代码**:现在可以在`src/main/java`下创建源码文件,按照Maven的标准组织结构进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值