maven分模块设计与私服

一、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 发布项目

相关推荐
eguid_11 小时前
【开源项目分享】JNSM1.2.0,支持批量管理的jar包安装成Windows服务可视化工具,基于Java实现的支持批量管理已经安装服务的可视化工具
java·开源·jar·1024程序员节·windows服务·jar包安装成服务·exe安装成服务
杯莫停丶2 小时前
设计模式之:享元模式
java·设计模式·享元模式
遥远_2 小时前
Java微服务无损发布生产案例
java·spring·微服务·优雅停机·java微服务无损发布
苹果醋32 小时前
学习札记-Java8系列-1-Java8新特性简介&为什么要学习Java8
java·运维·spring boot·mysql·nginx
武子康2 小时前
Java-159 MongoDB 副本集容器化 10 分钟速查卡|keyfile + –auth + 幂等 init 附 docker-compose
java·数据库·mongodb·docker·性能优化·nosql·1024程序员节
m0_748233642 小时前
C++ 模板初阶:从函数重载到泛型编程的优雅过渡
java·c++·算法·1024程序员节
以己之2 小时前
11.盛最多水的容器
java·算法·双指针·1024程序员节
摇滚侠2 小时前
全面掌握PostgreSQL关系型数据库,设置远程连接,笔记05,笔记06
java·数据库·笔记·postgresql
shepherd1263 小时前
破局延时任务(上):为什么选择Spring Boot + DelayQueue来自研分布式延时队列组件?
java·spring boot·后端·1024程序员节
机灵猫3 小时前
微服务中的服务熔断、降级与限流
java·数据库·微服务