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

相关推荐
Web Security Loop2 分钟前
MAC卸载JDK环境
java·macos·jdk
Rain的Java大神之路1 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
counting money1 小时前
Tomcat 专题:从基础架构到性能调优与 WebSocket 实战
java·websocket·tomcat
xiaohaiAIgeo2 小时前
【2026年】HG/T 20656-2024化工暖通空调设计规范:新版标准的变化与影响
java·前端·javascript·科普知识
小强库计算机毕业设计2 小时前
基于 Spring Boot + Vue3 的校园管理系统
java·spring boot·后端·项目实战·管理系统·技术分享·校园管理系统实战
霸道流氓气质3 小时前
Java中信号量(Semaphore):从本地到分布式
java·开发语言·分布式
怪奇云呼军3 小时前
G.711、Opus 和重采样会拖慢识别吗?闪电智能VoiceAgent 的音频入口怎么选
java·人工智能·python·算法·云计算·音视频
编程令我快乐3 小时前
maven部分构建参数讲解
java·maven
ZC跨境爬虫3 小时前
LeetCode 27. 移除元素(双指针详解 + Java Python 多解法对比)
java·python·leetcode
kisbad4 小时前
Day 036|OpenAI Agents SDK 快速开始:今天跑通第一个 Agent
java·前端·javascript