首页 > 编程语言 >Java(7)-Maven抽取公共模块构建jar包

Java(7)-Maven抽取公共模块构建jar包

时间:2024-05-18 17:33:27浏览次数:27  
标签:maven Java String jar private Maven 公共

前提假设:项目中有两个Moudle,分别是Moudle1和Moudle2,它们有些代码是相同的,比如相同的类和API,重复书写当然可以正常运行,但是我们可以用maven打包成jar包,其他Moudle直接引用即可。

步骤

1.新建一个Module-common

pox.xml 中配置 Module1 和 Moudle2 同样使用的依赖:

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- 以后需要什么可以这里在引入. -->
    </dependencies>

<optional>true</optional> 表示不传递依赖,也就是将来 Module1 或者 Moudle2 在引入这个共有包时,依赖不传递;默认值是 false,所以不设置会依赖传递

2.抽取公共的API/类

简单假设公共的类只有一个 Member.java

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Member implements Serializable {
    private Long id;
    private String name;
    private String pwd;
    private String mobile;
    private String email;
    private Integer gender;
}

3.Maven 打包

找到公共Module,执行clean和install
image.png
打包成功后提示
image.png
接着,我们可以在生成的 target 目录中就可以看到生成的jar 包
image.png

4.工程重构

在 Moudle1 和 Moudle中引入jar包进行使用

        <dependency>
            <groupId>com.hspedu.springcloud</groupId>
            <artifactId>e_commerce_center_common_api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

artifactId 和 groupId是如何确定的呢,回到我们生成的target目录,找到maven-archiver/pom.properties
image.png
里面显示的就是我们生成jar包的信息
image.png
最后刷新一下maven,删除公共的部分代码就可以了,比如Member.java

标签:maven,Java,String,jar,private,Maven,公共
From: https://www.cnblogs.com/marigo/p/18199525

相关文章

  • 关于cmd运行javac提示'javac' 不是内部或外部命令,也不是可运行的程序的问题
     大家可以看到我这边cmd运行javac命令,它对我进行了错误的提示,提示javac不是可运行命令和程序。这个问题的根本在于环境变量的配置出现了错误。接下来就要进行jdk的环境配置了。  注意点:这里要定位到自身存放jdk的bin目录才会生效。  点击确定即可,然后打开cmd窗口......
  • 在 JavaScript 中保留小数点后两位的方法
    From: https://www.jb51.net/javascript/301602kuw.htm在 JavaScript 中,有多种方法可以保留小数点后两位,本文给大家分享比较常用的方法,文末给大家介绍了实现数据格式化保留两位小数的多种方法,感兴趣的朋友一起看看吧 在JavaScript中,保留小数点后两位的方法在JavaS......
  • [Java基础复习]注解
    一、什么是注解注解是JDK1.5才引入的,Java增加了对元数据(描述数据的数据)的支持,也就是注解。注解可以标注在类,成员变量,方法、形参上等。注解可以做到在不改变代码逻辑的前提下在代码中嵌入补充信息。这些信息被保存在注解的“name=value”键值对中。框架=反射+注解+设计模式......
  • java中的http请求的封装(GET、POST、form表单形式)
    前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现。HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1是org.apache.commons.httpclient下操作远程url的工具包,虽然已不再更新,但实现工作中使用httpC......
  • java基础 韩顺平老师的 异常 自己记的部分笔记
    443,异常处理入门 packagecom.hspedu.exception_;publicclassException{publicstaticvoidmain(String[]args){intnum1=10;intnum2=0;//老韩解读//1,num1/num2=10/0//2,当执行到num1/num2,因为num2......
  • 说说JavaScript中的事件模型
    一、事件与事件流javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性,常见的有加载事件、鼠标事件、自定义事件等由于DOM是一个树结构,如果在父子节点绑定事件时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到了事件流的概念事件......
  • Java中的这些String特性可能需要了解下
    先总结下,String类具有以下特性:不可变性(Immutable):String对象一旦创建就不能被修改。任何对String对象的操作都会返回一个新的String对象,原始对象保持不变。字符串表(StringTable):StringTable表是一种存储字符串常量的内存区域,它可以提高字符串的重用率和性能。在创建字符串时,如果......
  • java代码的各个部分 在jvm里面分别对应什么区
    在 Java 中,代码和数据在 JVM(Java虚拟机)中的存储是分区管理的。这些区域各自承担不同的角色,以支持 Java 程序的运行。以下是 JVM 中主要的内存区域,以及它们与 Java 代码和数据的对应关系: 1. 方法区(Method Area) 存储内容:类信息、常量、静态变量、即时编译器编译后......
  • java取cookie的一些坑
    1.cookie有2个版本(version0与version1),version0最早是网景公司定的,比较保守,value值不能有特殊字符,比如冒号之类的,象GMT+05:30,在version0下,取出来,就变成GMT+05,冒号后的:30丢了 2.java中目前支持的是version0,以获取最好的兼容性 3.request.getCookies()并不能一......
  • java压缩网络图片,压缩图片
     方式一:使用Image.getScaledInstance使用jdk的awt包下的Image.getScaledInstance实现图片的缩放。好处是无需引入第三方jar,缺点是会稍微有点模糊。工具类ImageUtils:packageutils;importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;......