archetype项目骨架
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
, 修改groupId
、artifactId
、version
:
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中可以找到对应包:
到这就完成了一个项目骨架的创建,之后就可以按照前面的步骤快速复制一个项目。