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

前提假设:项目中有两个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

posted @ 2024-05-18 17:21  marigo  阅读(21)  评论(0编辑  收藏  举报