跳至主要內容

archetype项目骨架

杨轩-国实信息大约 3 分钟framework

git地址:

http://10.16.202.103:8089/component/component-ser/gosci-tech-archetype

后端项目模板项目,可用于快速生成项目代码,或基于当前项目生成项目骨架。

当前项目骨架架构如下:

一、使用骨架快速生成项目

目前项目骨架已上传到maven私服,在本地可以直接使用命令快速生成项目。

在目标目录下,cmd执行以下mvn命令:

mvn archetype:generate \ 
	-DgroupId=com.gosci.tech \ 
	-DartifactId=ocean-weather-serv \ 
	-Dversion=0.0.1-SNAPSHOT \ 
	-Dpackage=com.gosci.tech.weather \ 
	-DarchetypeGroupId=com.gosci.tech \ 
	-DarchetypeArtifactId=gosci-tech-archetype \ 
	-DarchetypeVersion=1.0.0-SNAPSHOT \ 
	-DinteractiveMode=false

如果遇到错误删除 \换行

mvn archetype:generate -DgroupId=com.gosci.tech -DartifactId=ocean-weather-serv -Dversion=0.0.1-SNAPSHOT -Dpackage=com.gosci.tech -DarchetypeGroupId=com.gosci.tech -DarchetypeArtifactId=gosci-tech-archetype -DarchetypeVersion=1.0.0-SNAPSHOT -DinteractiveMode=false

参数说明

下面三个参数是骨架archetype的gav信息,固定写死:

archetypeGroupId=com.gosci.tech 
archetypeArtifactId=gosci-tech-archetype 
archetypeVersion=1.0.0-SNAPSHOT 

下面三个参数是目标生成项目的gav信息,以及代码的基础包名,可以随意改动:

groupId=com.gosci.tech 
artifactId=ocean-weather-serv 
version=0.0.1-SNAPSHOT 
package=com.gosci.tech.weather 

注意

但是不推荐修改groupId,修改后会导致项目中一些代码包路径异常。

此外,通常一个公司组织groupId为固定项,如果实在要修改的话可以在生成代码后在项目中手动修改。

interactiveMode参数代表是否以交互模式进行,如果是false的话就会采用默认设置建立项目。

interactiveMode=false

运行结果

运行完成后,目录下会生成项目代码,可以直接使用idea打开,骨架模板中所有模块和代码都在里面。

项目可直接启动。

需要手动修改的地方

项目骨架的bootstrap.yml中已经配置好了nacos的相关信息,这一块需要手动修改,具体有:

  • nacos地址、namespace、group、用户名密码
  • 项目的名称
  • 如果有需要的话,修改项目的端口号

此外,还需要到nacos上创建对应的配置文件,可以直接基于gosci-tech-archetype克隆,然后进行数据源的修改等操作。

  • swagger扫包路径,文档信息
  • server的pom文件,修改mainClass的路径为自己的启动类

注意

目前版本还有一个问题,就是.gitignore文件,maven的archetype无法上传这个文件。

所以,目前在项目里添加了一个名字叫 __gitignore__的文件,需要自己在生成的项目里,手动把这个文件的文件名修改一下,改称 .gitignore

二、基于项目生成骨架

基于项目生成骨架的目的在于快速复制项目。

要生成骨架项目的前提是,要保证项⽬各个模块如api、config、server等的package包名是⼀致的。

添加依赖

在项目的父pom中加入maven-archetype-plugin插件依赖:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-archetype-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <propertyFile>./archetype.properties</propertyFile>
                </configuration>
            </plugin>
        </plugins>
    </build>

添加配置文件

在项⽬根⽬录中添加⽂件archetype.properties, 修改groupIdartifactIdversion

archetype.groupId=com.gosci.tech
archetype.artifactId=gosci-tech-archetype
archetype.version=1.0.0-SNAPSHOT
excludePatterns=**/.idea/**,**/*.iml

生成

在命令行执行:

mvn clean archetype:create-from-project

执行结果:

执⾏完毕后会在项⽬的/target/generated-sources/archetype⽬录中⽣成真正的⻣架项⽬。

进入生成的骨架项目目录,执行:

mvn clean deploy 

将项⽬推送⾄maven私服,因为项⽬依赖了gosci-tech-bom,所以⾃动配置了nexus的远程仓库地址。

在nexus中可以找到对应包:

到这就完成了一个项目骨架的创建,之后就可以按照前面的步骤快速复制一个项目。