继承
继承是为了消除重复,如果将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