最近公司要搭建一套新的平台,期间要创建多个工程,每创建一个工程都需要耗费大量的时间,包括各子模块的添加、jar的依赖等等,因为同一公司,同一项目代码风格基本一致,那么创建一个模板工程,自动生成代码,根据业务需要只需要将生成的代码稍微修改甚至不修改直接就编写业务代码的计划就提上日程了。而且使用模板生成代码还有一个好处就是代码风格一致。说干就干。
1.创建参照工程
既然是创建模板工程,那么首先生成的工程代码是什么样的,就要有一个参照,所以我们首先创建一个参照工程,就是我们最终要在项目中用到的工程结构是什么样的,此步骤是为了确定我们要建立的模板生成的代码都要有哪些模块,要有哪些常用的配置,要有哪些常用依赖等等。我是使用 interj idea来开发的,所以在IDE中创建一个多module的maven工程,过程不在赘述,结构如下图,(如果对项目工程比较熟悉或已经有现有的工程可以参考,那么可以忽略此步骤,直接进行步骤2)
展开看下细节
2.创建工程模板
有了参考之后,我们就要将参考的工程变成模板,以后用此模板生成的代码都和参考工程具有同样的结构、配置、依赖等等。模板也是一个maven工程,我们在IDE中新建一个工程test-archetype,创建如图所示的目录结构(注:必须包含用红框标注的目录结构且命名必须和图中示例一样,下面会逐个分析各目录结构的用途)
2.1 模板工程pom.xml
maven模板主要是用到了archetype插件,pom配置如下:
<?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>com.test</groupId>
<artifactId>test-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8&l