@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:快照版本 ,开发环境应用
@description: 如果已经配置好maven 可以跳过此步骤; 此步骤为设置本地maven的settings.xml文件或工程中的pom.xml文件; 因为我们搭建并使用了nexus作为maven私服管理我们的工程以及依赖关系。
@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,在<mirrors>
标签下进行如下配置:<mirrors> <!--配置如下代码--> <mirror> <id>nexus</id> <name>maven-public</name> <url>http://117.34.118.57:28081/repository/maven-public/</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors>
如果需要将本地工程上传到nexus,还需如下配置(不需要可以跳过),进行如下配置:
①配置 <servers>
<servers>
<!--配置如下代码-->
<server>
<id>releases</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
②配置<profiles>
:
<profiles>
<profile>
<activation>
<!-- 默认激活此 profile -->
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://117.34.118.57:28081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>central</id>
<name>Nexus Central Repository</name>
<url>http://117.34.118.57:28081/repository/maven-central/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>release</id>
<name>Nexus Release Repository</name>
<url>http://117.34.118.57:28081/repository/maven-releases/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<name>Nexus Snapshots Repository</name>
<url>http://117.34.118.57:28081/repository/maven-snapshots/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>plugins</id>
<name>Nexus Plugin Repositories</name>
<url>http://117.34.118.57:28081/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
③配置pom.xml文件:
<distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Release Repository</name>
<url>http://117.34.118.57:28081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://117.34.118.57:28081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
项目工程pom.xml中引用对应的依赖即可,例:
<dependency>
<groupId>com.gct.common.core</groupId>
<artifactId>common-core</artifactId>
<version>1.0-RELEASE</version>
</dependency>
maven中的仓库分为两种, snapshot快照仓库和release发布仓库。 snapshot快照仓库用于保存开发过程中的不稳定版本, release正式仓库则是用来保存稳定的发行版本。
在开发阶段,可以将公用库的版本设置为快照版本,而被依赖组件则引用快照版本进行开发, 在公用库的快照版本更新后,我们也不需要修改pom文件提示版本号来下载新的版本, 直接mvn执行相关编译、打包命令即可重新下载最新的快照库了,从而也方便了我们进行开发。 因为,同一个SNAPSHOT版本的依赖可以多次发布(deploy)到仓库中, 也就是说同一个SNAPSHOT版本的依赖可以在仓库中存在多份, 每一份都是代码在某一个特定时间的快照,这也是SNAPSHOT的含义。 SNAPSHOT不是一个特定的版本,而是一系列的版本的集合, 其中HEAD总是指向最新的快照,对外界可见的一般也是最新版。
RELEASE一旦发布,就不可改变。 应用生产环境。