一、maven分模块设计
1、好处
- 增强代码的复用性
- 便于分工
- 对 maven 项目来讲,一些通用的依赖、插件 ,可以抽取到父模块,简化配置
2、注意事项
xml
<!-- 父工程pom.xml中配置打包方式时选择pom方式,该模块不写java代码,仅进行项目管理配置-->
<packaging>pom</packaging>
3、聚合
在父模块pom.xml中使用module标签统一管理子模块叫做聚合。
好处是通过父模块能够快速构建(清理、编译、打包)多个子模块。
4、继承
描述的是两个工程间的关系,
作用是简化依赖配置、统一管理依赖,
实现:在子模块pom.xml中使用标签指定要继承的父模块
5、版本锁定
1、在父模块锁定版本
xml
<properties>
<!-- 自定义属性 -->
<jjwt.version>0.9.1</jjwt.version>
</properties>
<!--
在父模块中的pom.xml中使用 dependencyManagement 标签定义要锁定版本的依赖坐标
在子模块中定义依赖时,如果不指定就使用父模块的版本,如果指定了就用子模块中的
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<!-- 引用属性 -->
<version>${jjwt.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
2、在子模块中使用依赖
xml
<!--
在父模块中的pom.xml中使用 dependencyManagement 标签定义要锁定版本的依赖坐标
在子模块中定义依赖时,如果不指定就使用父模块的版本,如果指定了就用子模块中的
-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
</dependency>
二、私服Nexus
1、下载
2、从私服下载jar
xml
<!--在pom.xml中配置从私服下载jar包的仓库组地址,注意:nexus开要开启允许匿名访问-->
<repositories>
<repository>
<!--多个repository时,id唯一就行-->
<id>nexus</id>
<!--仓库组的url-->
<url>http://http://192.168.69.60/:8081/repository/maven-public/</url>
</repository>
</repositories>
3、上传jar到私服
xml
<!--在pom.xml中配置上传jar包到私服的地址-->
<distributionManagement>
<!-- release版本的发布地址 -->
<repository><!--此处的id要和server中的id一致,表示使用这组密码-->
<id>maven-nexus</id>
<url>http://192.168.69.60:8081/repository/maven-releases/</url>
</repository>
<!-- snapshot版本的发布地址 -->
<snapshotRepository>
<id>maven-nexus</id><!--此处的id要和server中的id一致,表示使用这组密码-->
<url>http://192.168.69.60:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
xml
<!--在maven的settings.xml中的servers中配置 私服的访问用户名/密码-->
<server>
<id>maven-nexus</id>
<username>admin</username>
<password>123456</password>
</server>
最后,在IDEA中双击 deploy 发布项目