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

相关推荐
无心水1 分钟前
【OpenClaw:赚钱】案例19、内容产量5倍、广告收入翻4倍:播客转多平台内容矩阵全自动化实战(OpenAI Whisper + Claude)
java·人工智能·python·ai编程·openclaw·养龙虾·java.time
云烟成雨TD10 分钟前
Spring AI 1.x 系列【42】MCP 服务端 Spring Boot 启动器
java·人工智能·spring
云烟成雨TD14 分钟前
Spring AI 1.x 系列【38】模型上下文协议(MCP)
java·人工智能·spring
Alson_Code17 分钟前
Spring AI-1.1.0
java·人工智能·后端·spring·ai编程
小小放舟、17 分钟前
@JsonCreator 注解详解——从枚举反序列化说起
spring boot·spring·spring cloud·java-ee·maven·intellij-idea·状态模式
ANnianStriver17 分钟前
PetLumina 08 — 通知系统与搜索功能修复(广播机制 + 已读状态 + 参数对齐)
java·ai·ai编程·广播机制
ggaofeng20 分钟前
试用zeroclaw
java·开发语言
就叫_这个吧24 分钟前
servlet整合tomcat项目启动报错解决,org.apache.tomcat.util.descriptor.web.WebXml.setVersion
java·servlet·tomcat·apache
Wenzar_24 分钟前
用 JAX 构建可微分光子神经网络仿真器
java·人工智能·深度学习·神经网络
cfm_291442 分钟前
RocksDB 初步了解
java