一、生成自定义archetype
创建maven项目,每次都要选择一个骨架,总有一部分东西是我们不需要的,有时候创建项目时选择了一个骨架,用的时候,需要删删减减的,解决办法就是创建一个自己的自定义骨架,每次创建maven的时候,就使用自己的骨架,相对方便多了。
archetype 自定义的优势:
- 可以集成公共的开发组件,提高开发效率。公司内部对中间件的封装,可以集成进来;开源社区的优质轮子,可以集成进来。这样,项目可以有大量的优秀组件,避免重复造轮子。另外,如果需要创建新项目,可以一键生成,不必在复制一个项目,更改项目名,删减代码之类的。
- 项目风格统一,便于统一维护。试想,同一个
archetype 生成的项目,无论是项目结构,还是项目依赖的组件,应该都是类似的。如果有新的开发同学进入项目,熟悉了某个项目,其它项目除了业务逻辑,基本上不需要理解成本。
1.1、在IDEA中进行自定义archetype
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>3.1.1</version>
</plugin>
在项目根目录下新建archetype.properties 模板规则文件
# 添加不需要放到模板的正则匹配
excludePatterns=.idea/**,README.md,.mvn/wrapper/*,.gitignore
# 需要替换处理的文件后缀,默认没有yml、yaml
archetype.filteredExtensions=java,yml,yaml,xml,txt,groovy,cs,mdo,aj,jsp,gsp,vm,html,xhtml,properties,.classpath,.project
1.2、执行maven 命令
archetype:create-from-project ,执行maven命令 遇到警告,警告信息:Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! 解决方法:警告信息可以不做处理。 archetype:create-from-project 命令执行完之后,项目会生成target目录文件,至此,骨架相当于已经生成,但是需要安装,还需要把骨架添加到maven中。 2.选择target文件执行install 命令
[INFO] Installing D:\dev_workspace\yx-jxc-parent\target\generated-sources\archetype\target\yx-jxc-parent-archetype-1.0.0.jar to D:\maven_repository\com\deewin\yx-jxc-parent-archetype\1.0.0\yx-jxc-p
arent-archetype-1.0.0.jar
[INFO] Installing D:\dev_workspace\yx-jxc-parent\target\generated-sources\archetype\pom.xml to D:\maven_repository\com\deewin\yx-jxc-parent-archetype\1.0.0\yx-jxc-parent-archetype-1.0.0.pom
- 执行
archetype:crawl 命令,用于构建骨架,在本地仓库的根目录生成archetype-catalog.xml骨架配置文件:
二、使用archetype创建项目
2.1、采用maven提供的archetype 生成项目
通常我们在创建一个maven项目的时候会使用idea界面窗口去创建,创建时选择一个模板即可,操作简单。 在下面的例子中,我们将在 E:\Maven 文件夹下创建一个基于 maven 的 java 应用项目。命令格式如下:
mvn archetype:generate -DgroupId=com.deewin -DartifactId=javaProjectTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
参数说明:
DgourpId : 组织名,公司网址的反写 + 项目名称DartifactId : 项目名-模块名DarchetypeArtifactId : 指定 ArchetypeId ,maven-archetype-quickstart ,创建一个简单的 Java 应用DinteractiveMode : 是否使用交互模式
2.2、采用自己构建的archetype 生成项目
2.2.1、方法1:利用自动生成的 archetype-catalog.xml 来创建项目
当我们install 后,会在本地的maven仓库目录下生成如下定义archetype 文件: 我们运行如下命令
mvn archetype:generate -DarchetypeCatalog=local
2.2.2、方法2:需要将install 后的achetype 项目copy到插件查找目录org\apache\maven\archetypes
|