# tsingxiao-cloud-archetype **Repository Path**: tsingxiao/tsingxiao-cloud-archetype ## Basic Information - **Project Name**: tsingxiao-cloud-archetype - **Description**: java项目模板工程 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-05-25 - **Last Updated**: 2022-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - [tsingxiao archetype项目](#tsingxiao-archetype%E9%A1%B9%E7%9B%AE) - [技术栈说明](#%E6%8A%80%E6%9C%AF%E6%A0%88%E8%AF%B4%E6%98%8E) - [archetype用法](#archetype%E7%94%A8%E6%B3%95) - [安装](#%E5%AE%89%E8%A3%85) - [生成项目](#%E7%94%9F%E6%88%90%E9%A1%B9%E7%9B%AE) - [项目开发和运行](#%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E5%92%8C%E8%BF%90%E8%A1%8C) - [flyway使用](#flyway%E4%BD%BF%E7%94%A8) - [SonarQube使用](#sonarqube%E4%BD%BF%E7%94%A8) # tsingxiao archetype项目 ## 技术栈说明 本项目是maven构建的多模块项目 * 后端开发框架: SpringBoot2 * ORM工具: Mybatis * 项目构建工具: Maven3 * 数据库: MySQL * IDE:Intellij Idea * 其他技术: * SonarQube静态代码分析工具v7.8 * Jacoco测试覆盖率 ## archetype用法 ### 安装 首先install到本地: ```shell script mvn install ``` 或者发布到远程仓库: ```shell script mvn deploy -DaltDeploymentRepository=:: ``` ### 生成项目 ``` mvn archetype:generate \ -DarchetypeGroupId=com.tsingxiao \ -DarchetypeArtifactId=tsingxiao-cloud-archetype \ -DarchetypeVersion=0.0.5 \ -DinteractiveMode=false \ \ -DgroupId=com.tsingxiao.productname \ -DartifactId=projectname \ -Dversion=0.0.1-SNAPSHOT \ -Dpackage=com.tsingxiao.productname.projectname \ ``` groupId、artifactId、version、package为必填参数 生成的项目结构如下: ``` ├─projectname-api │ └─src │ ├─main │ │ ├─java │ │ └─resources │ └─test ├─projectname-common ├─projectname-mapper ├─projectname-pojo ├─projectname-service ├─pom.xml ├─settings.xml ├─ecosystem.config.js ├─deploy.sh ├─.gitignore ├─Makefile └─README.md ``` `projectname-api`为启动类所在模块 ## 项目开发和运行 安装: ```shell mvn clean install -s settings.xml -DskipTests -U -P ${your_profile} ``` 启动: ```shell java -jar projectname-api/target/projectname-api.jar ``` ## flyway使用 - 表结构设计发生变更时,在db/migration目录下编写表结构sql,sql文件名规则: `V<版本号>__描述_描述_描述.sql` 版本号和描述之间两个下划线分隔,描述词之间一个下划线分隔 - 检查flyway插件配置是否正确,api模块目录下执行命令即可执行最新版本的sql: ```shell script mvn flyway:migrate -P ${your_profile} ``` 或者在命令行中直接定义url等参数 ```shell script mvn flyway:migrate \ -Dflyway.url=jdbc:mysql://${your_db_url} \ -Dflyway.user=${your_db_user} \ -Dflyway.password=${your_db_password} ``` ## SonarQube使用 - docs:https://docs.sonarqube.org/7.8/ - 跑单元测试并且执行SonarQube分析: ```shell script mvn clean test -s settings.xml -P sonar sonar:sonar ``` --- _README持续维护中_ 生成目录(需要安装doctoc): ``` doctoc --notitle README.md && sed '/