首页 > 其他分享 >maven 包管理平台-05-multi module 多模块

maven 包管理平台-05-multi module 多模块

时间:2024-03-03 11:11:57浏览次数:19  
标签:util multi 05 module maven pom multiModule 模块 com

拓展阅读

maven 包管理平台-01-maven 入门介绍 + Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的详细对比表格

maven 包管理平台-02-windows 安装配置 + mac 安装配置

maven 包管理平台-03-maven project maven 项目的创建入门

maven 包管理平台-04-maven archetype 项目原型

maven 包管理平台-05-multi module 多模块

maven 包管理平台-06-常用技巧 实时更新快照/乱码问题/下载很慢/包依赖解决包冲突/如何导入本地 jar

maven 包管理平台-07-plugins 常见插件介绍

maven 包管理平台-08-nexus 自己搭建 maven 仓库

多模块

创建

创建一个空的 Maven 项目,它的 pom.xml 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ryo</groupId>
    <artifactId>multiModule</artifactId>
    <version>1.0-SNAPSHOT</version>

</project>

multiModule 创建子模块 util,同时我们以类似的方式创建另一个模块 dao

  • multiModulepom.xml 将是:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ryo</groupId>
    <artifactId>multiModule</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>util</module>
    </modules>

</project>
  • util 模块的 pom.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>multiModule</artifactId>
        <groupId>com.ryo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>util</artifactId>

</project>
  • util 模块中的 StringUtil.java 文件
public class StringUtil {
    private static final String EMPTY_STRING = "";

    private StringUtil(){}

    public static boolean isEmpty(String string) {
        return string == null || string.trim().equals(EMPTY_STRING);
    }
}

使用

如果我们想要在 dao 模块中使用 util 模块的 StringUtil.java,我们应该按照以下步骤进行:

  • 安装

util 模块或 multiModule(根模块)中安装您想要使用的模块。

  • 定义

dao 模块的 pom.xml 中定义 util 的依赖关系。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>multiModule</artifactId>
        <groupId>com.ryo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>dao</artifactId>

    <dependencies>
        <dependency>
            <groupId>com.ryo</groupId>
            <artifactId>util</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>
  • 使用
public class UserDao {
    public boolean login(String username, String password) {
        return StringUtil.isEmpty(username) || StringUtil.isEmpty(password);
    }
}

提示

如果您在 根模块 中定义了 [一个模块] 的依赖关系,那么它的所有子模块都可以使用 [一个模块]。

但通常我们可能会像这样使用:

  • 根模块的 pom.xml 中,声明 使用。
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.ryo</groupId>
            <artifactId>util</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  • dao 模块的 pom.xml 中,定义 使用。
<dependencies>
    <dependency>
        <groupId>com.ryo</groupId>
        <artifactId>util</artifactId>
    </dependency>
</dependencies>

本文由博客一文多发平台 OpenWrite 发布!

标签:util,multi,05,module,maven,pom,multiModule,模块,com
From: https://www.cnblogs.com/houbbBlogs/p/18049719

相关文章

  • 05. 生成房间之间连线
    画线使用了LineRenderer如上图所示,LineRenderer里面有两个点,分别是index0和index1,然后它还有线宽,我在我的屏幕上试了一下,0.05是一个粗细比较合适的线目前线是洋红色的,我们需要添加材质,才能让其有颜色。这边我们创建了一个材质这个材质使用了透明的Shader,然后使用了一......
  • day 05-2 数据类型(字符串)
    3.字符串字符串,我们平时会用他来表示文本信息。例如:姓名、地址、自我介绍等。3.1定义v1="包治百病"v2='包治百病'v3='"包"治百病'v4="包'治百病'"V5="""吵架都是我的错,因为大家打不过。"""#三个引号,可以支持多行/换行表示一个字符串,其他的都只能在一行中表......
  • AP8P059 PIR 人体感应太阳能 LED 灯控制芯片
    概述AP8P059是一款集成低压LDO、光控、充电控制、过充保护、欠压保护、PIR感应、延时为一体的人体感应太阳能LED灯控制芯片,只需要很少的外接元件,适用于锂电池供电的PIR人体感应LED灯具的应用。外置的一级带通增益放大器便于客户调整感应灵敏度,可与多个品牌PIR传感器匹配,进行......
  • 射频信号模块-6GHz丨SC5505A SC5506A
    产品简介:输出信号频率25MHz到6GHz低残余相位噪声在10kHz偏置达到-117dBc/Hz高1GHz载频更多信息请加weixin-pt890111获取 SC5506A和SC5505A射频信号源可用作多个单级下变频器或双级下变频器的LO信号源。由于其低杂散成分和低相位噪声,它们是快速DAC和ADC应用的理想选择,尤其是......
  • SC5360B丨9.05至9.55 GHz X波段双通道RF下变频器
    产品简介频率范围:9.05GHz至9.55GHz,信号带宽40MHz,噪声系数典型值为4.8dB更多信息请加weixin-pt890111获取 SC5360B是一款9.05至9.55GHz双通道双级转换超外差下变频器,集成了本地振荡器(LO),可提供卓越的性能。初设计用于EW,它可以满足X波段雷达系统,通信系统,光谱监测系统和频......
  • SC5405A SC5406A丨3.9 GHz射频上变频器
    产品简介频率范围:1MHz至3.9GHz,动态范围>150dBc,输出电平-100dBm至17dBm更多信息请加weixin-pt890111获取SC5405A和SC5406B是三级高动态范围超外差上变频器。设计用于将低频宽带IF信号转换为更高的RF信号,这两个模块具有与直接转换器件相媲美的3阶线性度和噪声性能,但没有......
  • SC5305A SC5306A丨3.9 GHz RF下变频器
    产品简介:频率范围:1MHz至3.9GHz,测量灵敏度-160dBm/Hz,内部前置放大器更多信息请加weixin-pt890111获取SC5305A和SC5306B是三级超外差RF下变频器,可在单级转换中提供卓越的镜像抑制性能。这两个模块设计用于满足苛刻的应用,如电缆调制解调器测试,软件无线电开发和频谱监测,具有......
  • zabbix-server启动后没有10051端口,web端报错
    1、登入zabbixweb端,报错信息如下 2、登入服务器上查看zabbix-server、zabbix-agent2、apache2等服务都正常运行 3、检查端口情况,发现apache2---80正常、zabbix-agent2---10050正常,只有zabbix-server没有端口信息(图一也是细节那栏也没有localhost:10051) 4、查看zab......
  • 代码随想录算法训练营第三十三天 | 135. 分发糖果, 134. 加油站, 1005.K次取反后最大化
      1005.K次取反后最大化的数组和 已解答简单 相关标签相关企业 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下......
  • 代码随想录算法训练营第三十三天| ● 1005.K次取反后最大化的数组和 ● 134. 加油站
    K次取反后最大化的数组和 题目链接:1005.K次取反后最大化的数组和-力扣(LeetCode)思路:首先增序排序,然后依次将负值取反,如果负数先用完,则再排序一次,将最小的正数取反之后求和;如果k先用完,直接求和。注意sort默认是增序排序,若想要要降序,则不能使用sort(nums.end(),nums.begin())......