继承
继承是为了消除重复,如果将dao、service、web分开创建独立的工程则每个工程的pom.xml文件中的内容存在重复,比如:设置编译版本、锁定spring的版本的等,可以将这些重复的配置提取出来在父工程的pom.xml中定义
聚合
项目开发通常是分组分模块开发,每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如:dao、service、web三个工程最终会打一个独立的war运行。
同级模块添加依赖
<dependency>
<groupId>wang.ismy</groupId>
<artifactId>service</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
私服
- 使用docker
docker pull sonatype/nexus3
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
上传
<distributionManagement>
<repository>
<id>releases</id>
<url>http://192.168.1.102:8081/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://192.168.1.102:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
下载
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://192.168.1.102:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
安装第三方jar到本地
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile= fastjson-1.1.37.jar -Dpackaging=jar
上传jar到私服
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty