## microarch_bg_common > @author: NewMeanning
> @description: 功图诊断量液系统微架构 公共Maven工程 ## 目录 |— microarch_bg_common `// root 根工程`
|—— common-core `// 公共核心包`
|———— com.gct.common.core.entity `// 公用实体对象`
|———— com.gct.common.core.result `// 接口返回封装`
|———— com.gct.common.core.util `// 通用工具类`
|—— common-security `// 公共security安全包`
|———— com.gct.common.security.core `// security核心封装对象`
|———— com.gct.common.security.util `// security/jwt 工具类`
## 引用说明 > RELEASE:发布版本 ,生产环境引用
> SNAPSHOT:快照版本 ,开发环境应用
### 1.配置maven > @description: 如果已经配置好maven 可以跳过此步骤; 此步骤为设置本地maven的settings.xml文件或工程中的pom.xml文件; 因为我们搭建并使用了nexus作为maven私服管理我们的工程以及依赖关系。 [参考1](https://www.cnblogs.com/java-linux/p/10263568.html)
[参考2](https://www.cnblogs.com/yhaing/p/8568043.html) >@attention: if you want to develop the common project,suggest to use local 'settings.xml' file to your 'maven' tool builder
找到maven的conf文件下的settings.xml,在``标签下进行如下配置: ```xml nexus maven-public http://117.34.118.57:28081/repository/maven-public/ * ``` 如果需要将本地工程上传到nexus,还需如下配置(不需要可以跳过),进行如下配置: ①配置 `` ```xml releases admin 123456 snapshots admin 123456 ``` ②配置``: ```xml true nexus Nexus Repository http://117.34.118.57:28081/repository/maven-public/ true central Nexus Central Repository http://117.34.118.57:28081/repository/maven-central/ true false release Nexus Release Repository http://117.34.118.57:28081/repository/maven-releases/ true false snapshots Nexus Snapshots Repository http://117.34.118.57:28081/repository/maven-snapshots/ true true plugins Nexus Plugin Repositories http://117.34.118.57:28081/repository/maven-public/ ``` ③配置pom.xml文件: ```xml releases Nexus Release Repository http://117.34.118.57:28081/repository/maven-releases/ snapshots Nexus Snapshot Repository http://117.34.118.57:28081/repository/maven-snapshots/ ``` ### 2.使用方式 项目工程pom.xml中引用对应的依赖即可,例: ```xml com.gct.common.core common-core 1.0-RELEASE ``` ## 知识扩展 ### 1.RELEASE与SNAPSHOT maven中的仓库分为两种, snapshot快照仓库和release发布仓库。 snapshot快照仓库用于保存开发过程中的不稳定版本, release正式仓库则是用来保存稳定的发行版本。 ### 2.选择,SNAPSHOT or RELEASE? 在开发阶段,可以将公用库的版本设置为快照版本,而被依赖组件则引用快照版本进行开发, 在公用库的快照版本更新后,我们也不需要修改pom文件提示版本号来下载新的版本, 直接mvn执行相关编译、打包命令即可重新下载最新的快照库了,从而也方便了我们进行开发。 因为,同一个SNAPSHOT版本的依赖可以多次发布(deploy)到仓库中, 也就是说同一个SNAPSHOT版本的依赖可以在仓库中存在多份, 每一份都是代码在某一个特定时间的快照,这也是SNAPSHOT的含义。 SNAPSHOT不是一个特定的版本,而是一系列的版本的集合, 其中HEAD总是指向最新的快照,对外界可见的一般也是最新版。 **RELEASE一旦发布,就不可改变。** 应用生产环境。