创建您自己的Maven模板

摘要:
先走一遍最简单的流程)假设没有错误,那么如今我们的模板已经安装到本机maven仓库了。接着我们来试着使用这个模板创建一个maven项目4.运行:mvnarchetype:generate-DarchetypeCatalog=local不出意外,我们能够看到3.中安装的模板,选择1提示输入目标项目的信息。这么就依据我们自己的模板创建了一个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就是我们要的项目了,把这个目录总体拷贝出来(当然不拷贝也能够。个人还是习惯独立出来)
那么这个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我们能够复用

參考链接

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

1. 定制哪些文件会被作为模板
仅仅要我们把文件放到srcmain esourcesarchetype-resources文件夹以下,而且在srcmain esourcesMETA-INFmavenarchetype-metadata.xml中进行配置
比方:我们加入srcmain esourcesarchetype-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是不行的





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

免责声明:文章转载自《创建您自己的Maven模板》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C++ 类的前向声明[办公应用]如何将excel合并单元格分拆后每个单元格上仍保留数据?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

N1盒子刷Armbian整理

我买了一把亚美尼亚刷子,记录了投掷的过程。本文基于《斐济N1–完美机器刷臂教程》和《斐济N1刷臂5.64》,结合自身实际操作中遇到的问题。为了使斐济N1的所有硬件都能被armbian正常调度,需要将一组dtb文件适配到斐济N1。目前,斐济N1的dtb文件已被armbian包含在官方源代码库中,但Linux在使用时的负载将非常高,因此热心的网友为ARMBIAN...

Windows 7集成IE11(离线安装包、补丁)

当Win7系统需要集成IE11时,我们需要提前输入六个补丁KB2731771、KB2786081、KB2834140、KB2670838、KB2729094、KB2533623332位★ 百度网盘64位★ 百度网盘。我们需要输入这六个补丁才能更改IE11。此外,我们还需要32位的IE11离线安装包★ 百度网盘64位★ 百度网盘。这六个补丁是安装IE11所必需...

windows 常用命令行操作

目录操作˃pwd打印当前工作目录,通过此关键词可以查看当前所处的路径˃cd更改目录,用于多个目录之间的切换具体输入:cd目录名cd目录名/子目录名(可通过此方式到达最底层的目录)cd~(返回home目录)cd..(返回上一级目录)cd../..(返回上两级目录)cd盘符名:(不同盘符间跳转,cd后面跟上路径则可实现精准跳转)˃mkdir创建目录具体输入:mk...

2.页面绘制和引入组件库uView

文本+背景色的形式,而不是横幅图的形式,可以节省未来的工作量。在index.vue中,关于开关的代码:EFGHIJKLMNOPQRSTUWXYZB˃DEFGHIJKLNNOPQRSTUVWXYZEFGHIJKLMNOPQRSTUVWXYZ导出默认值{data(){return{}},onLoad()},方法:{}}。横幅{width:100%;height:...

dbeaver 驱动安装

一、背景:在Windows10安装dbeaver数据库连接工具,点“测试连接”的时候出现报错如下:ErrorresolvingdependenciesMavenartifact'maven:/mysql:mysql-connector-java:RELEASE'nofound经网上查询是dbeaver驱动无法下载的问题。二、解决方法:打开“窗口”-˃“首选项...

关于VScode切换、拉取、推送、合并分支,并解决冲突

例如,现在我在wyl本地分支上,输入命令gitcheckoutdev切换到dev分支,然后gitpull将dev分支切换到本地。最后,删除dist文件。如果存在冲突,左侧导航栏上相应的模块项将更改颜色,或者终端将提示您查找相应的冲突并解决它。解决所有冲突后,再次重复步骤2以打包项目以检查和解决冲突。按照上面提到的其他方法推送分支以成功合并。...