一键生成代码框架设计和使用说明

1. 简介

        随着项目开发的规范逐渐落地,对应的项目目录结构要亟待需要进行统一,这样就可以使的所有的项目都有相同的工程目录结构,这样代码review,跨系统开发等都相对来说要容易很多。

2. 使用

        仅仅使用如下命令就可以生成对应的目录结构,步骤如下:

(1)在命令行输入mvn archetype:generate 命令,如下所示:

mvn archetype:generate -DarchetypeGroupId=com.ctfin.framework -DarchetypeArtifactId=code-framework -DarchetypeVersion=0.0.1-SNAPSHOT -DarchetypeCatalog=local

一键生成代码框架设计和使用说明

(2)根据命令提示输入对应的项目的groupId和artifactId,以及对应的appName和packageName等参数,就可以生产对应的项目了,如下图所示:

一键生成代码框架设计和使用说明

生成对应的项目目录结构如下图所示:

一键生成代码框架设计和使用说明

3. 设计和原理

3.1项目目录结构设计

一键生成代码框架设计和使用说明


模块之间的依赖关系如下:

一键生成代码框架设计和使用说明

模块功能介绍:

一键生成代码框架设计和使用说明

3.2实现原理说明

        利用mvn来生成对应的项目目录架构,下面将一步一步讲述这个实现的过程:

3.2.1新建项目

        在eclipse上新建一个mvn项目,选择maven-archetype-archetype,单机next进行下一步

一键生成代码框架设计和使用说明

3.2.2输入项目新建信息

        输入项目对应的groupId,artifactId和版本等信息,如下图所示:

一键生成代码框架设计和使用说明

3.2.3项目结构

        单击finish,对应的项目就建好了,如下图所示:

一键生成代码框架设计和使用说明

3.2.4项目pom.xml新增内容

<distributionManagement>

        <repository>

                <id>thirdparty</id>

                <name>ctfin_thirdparty</name>

                <url>http://192.168.1.202:9091/repository/thirdparty/</url>

        </repository>

</distributionManagement>

<build>

    <plugins>

                <plugin>

                    <groupId>org.apache.maven.plugins</groupId>

                    <artifactId>maven-archetype-plugin</artifactId>

                    <version>2.3</version>

                </plugin>

                <plugin>  <!-- 打源码 -->

                        <groupId>org.apache.maven.plugins</groupId>

                        <artifactId>maven-source-plugin</artifactId>

                        <version>2.4</version>

                        <configuration>

                                <attach>true</attach>

                        </configuration>

                    <executions>

                            <execution>

                                    <phase>compile</phase>

                                    <goals>

                                            <goal>jar</goal>

                                    </goals>

                            </execution>

                </executions>

        </plugin>

    </plugins>

</build>

3.2.4 Archetype.xml重命名

由于我们要建多模块的项目,则需要将META-INF/maven/archetype.xml重命名为archetype-metadata.xml,具体参见:https://maven.apache.org/guides/mini/guide-creating-archetypes.html和http://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-descriptor.html

一键生成代码框架设计和使用说明

3.2.5新建模块结构

        可以在archetype-resources文件夹中新建新的模块(新的文件夹)

一键生成代码框架设计和使用说明

对应的archetype-resources/biz-service-impl/pom.xml文件的内容如下:

一键生成代码框架设计和使用说明

对应的archetype-resources/pom.xml定义:

一键生成代码框架设计和使用说明

GroupId,artifactId和version,appName在archetype-metadata.xml中定义如下:

一键生成代码框架设计和使用说明

3.2.6新建模块定义

        然后在archetype-metadata.xml中增加对应的模块定义:注意module定义中的id对应的是模块下面对应pom.xml中的${artifactId}的值

一键生成代码框架设计和使用说明

3.2.7执行项目编译打包部署命令

        模块都定义好之后,在这个项目的根目录下面执行mvn clean install命令

3.2.8根据新建结构生成新的项目

        根据项目的groupId,artifactId和version生成对应的新工程,按照这个项目结构,对应的命令如下:

mvn archetype:generate -DarchetypeGroupId=ctfin.framework -DarchetypeArtifactId=InduFramework -DarchetypeVersion=0.0.1-SNAPSHOT -DarchetypeCatalog=local

3.2.9将项目上传私仓

将项目jar包上传的私仓,通过如下命令:

mvn deploy:deploy-file -DpomFile=../pom.xml -DgroupId=com.ctfin.framework -DartifactId=code-framework -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -Dfile=code-framework-0.0.1-SNAPSHOT.jar -Dsources=code-framework-0.0.1-SNAPSHOT-sources.jar -Durl=http://192.168.1.202:9091/repository/thirdparty/ -DrepositoryId=thirdparty

4. 代码地址

https://github.com/lwjaiyjk/projectFrameworkGenerate

转载请说明出处