创建您自己的Maven模板

相关链接:

http://maven.apache.org/archetype/maven-archetype-plugin/

一、事实上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就是我们要的项目了,把这个目录总体拷贝出来(当然不拷贝也能够。个人还是习惯独立出来)

那么这个project是怎么创建模板的呢。接着看

3.   首先我们改动下这个project的信息。便于我们安装之后使用

打开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项目。这里的archetypeproject我们能够复用

參考链接

https://maven.apache.org/archetype/archetype-common/archetype-descriptor.html

二、这一部分我们来定制刚才生成的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

生成project的.gitignore中的${pro-to-replace}就会被替换为pro_value

注意:这里的属性名称不能包括.

比方:pro.to.replace是不行的

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-22 17:25:30

创建您自己的Maven模板的相关文章

配合m2eclipse创建一个标准的maven web项目

1.maven安装 首先下载maven3. 解压后设置maven的系统变量. 如下图.设置好M2_HOME和PATH的系统变量.输入  Java代码   mvn -version ------------------------------------------------------------------------------------------ 2.安装m2eclipse插件 m2eclipse Core Update Site: http://m2eclipse.sonatype

手动创建spring项目(maven/IDEA环境)

1.创建maven项目 按照步骤一步一步来 创建项目 这里选择maven的模板 设置包名 设置项目的maven的配置信息.maven仓库路径(会从maven配置文件中获取) 这里设置项目名.项目保存路径 在main文件夹下创建java文件夹并标记为sources Root,以同样的方式创建test文件夹,并标记为test root 2.配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <project

创建bitbucket的私有maven仓库,把aar (library)上传到bitbucket的maven仓库(by 星空武哥)

创建bitbucket的私有maven仓库,把aar (library)上传到bitbucket的maven仓库 转载请标注原文地址:http://blog.csdn.net/lsyz0021/article/details/52065404 当我们使用android studio的开发的时候,我们可以很方面的使用compile " "命令很方便的使用别人的第三方aar库 比如我们引用okhttp的时候就可以在gradle中: dependencies { compile 'com.s

【4】创建一个自己的Bootstrap模板

什么也不说了,直接贴上代码吧,哈哈 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <!-- Bootstrap不支持IE的兼容模式,加入此标签以确保在每个被支持的IE浏览器中保持最好的页面展现效果 --> <meta http-equiv="X-UA-Compatible" content=&qu

idea 创建多模块依赖Maven项目

转载地址: http://www.cnblogs.com/tibit/p/6185704.html idea 创建多模块依赖Maven项目 本来网上的教程还算多,但是本着自己有的才是自己的原则,还是自己写一份的好,虽然可能自己也不会真的用得着. 1. 创建一个新maven项目 2. 3. 输入groupid和artifactid,后面步骤直接next,最后finish 4.创建好后 5. 在主项目名称上点右键,创建第一个子模块 6 7 8 同理,在创建一个模块,创建好后 9 打开Project

在IntelliJ IDEA里创建简单的基于Maven的SpringMVC项目

工具是IntelliJ IDEA 2017.2月的版本 第一步:Create New Project,在左侧找到Maven选项,然后步骤如图(这个webapp生成的项目结构个人觉得不怎么好,比如没有main/java文件夹,也没有test/java文件夹,且各个文件夹也没有设置为Sources.Resources之类的,而且web.xml居然是2.3版本的:不知道大家有没有其它推荐): next后新窗口中填写GroupId和ArtifactId,GroupId一般是指集团/团队名称,如com.a

在 eclipse中 创建 web 版的 maven 工程以及 进一步了解 pom.xml 中 scope 的相关配置设置问题

1.在 eclipse中 创建 web 版的 maven 工程: a.和 创建 java 版的 maven 工程一样,先选中一个简单的工程(跳过经典模式),后填写坐标(不了解的看先前的博文),在打包方式中选择 war 包,后点击 finish. b.可以看到,在新建 的 javaproject03 的 项目中,只有 webapp目录,而实际的内容并没有.这里我们在每次新建时都要做设置.设置如下: 注:鼠标停在所建的项目上,点击右键进入 properties --> Project Facets

idea中创建多module的maven工程

以前自学Java web的时候,我们都是创建一个web工程,该工程下面再创建dao.service.controller等包.自从工作以后,我们会发现现在的web项目包含多个module,controller和service都是分开在不同的module.个人认为,这样做的好处在于解耦,同时服务的重用.我们可以吧service的module打成jar包,提供给其他项目使用. 对于刚刚接触多module的maven项目的菜鸟来讲,很难转变以前的思想,也难以创建这种工程.本文就是教会大家使用idea来

IntelliJ Idea13无法创建maven模板

一.错误信息: -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.[ERROR] Maven execution terminated abnormally (exit code 1) 二.解决方法: 1.设置VM Options: -Dmaven.multiModuleProjectDirectory=$