继承

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