IDEA maven项目打包jar并在其他项目中引用

前言

今天碰到一个需求,需要在项目中,引入一个其他项目的SDK包,这个包大概有几十个类文件,如果全部复制进入项目,需要修改的工作量很大,所以考虑打成jar包并引入。

介绍

  • 需要打包的项目,以及需要引入的项目均为maven项目
  • 工具使用Idea

打包jar

  1. 首先,如果需要打包成jar,必须有一个Main入口类,如果项目没有,记得建立一个,里面只要包含main方法即可。
image.png
  1. 然后点击项目,在上面菜单处选择 File--Project Structure...
image.png
  1. 在左侧选择Artifacts,然后点击+
image.png
image.png
  1. Main Class 选择 你写的main类,然后点击OK即可
image.png
  1. 如图,把勾勾打上,然后点击OK
image.png

6.点击菜单 Build --Build Project

image.png

然后在项目的根目录 classes --artifacts 目录即可找到生成的Jar包

引入 jar包

如果需要在另外一个项目中,引入这个jar包,那么,需要如下操作

  1. 创建目录
    在项目的src平级目录新建文件夹 lib (这一步名称随意)
  2. 将刚才生成好的jar包放入该文件夹下。
    3.将该文件引入项目
    菜单处选择 File--Project Structure...
    然后 左侧选择Modules点击 右侧+,如图。
image.png
image.png
  1. 找到项目目录下的jar包,导入
image.png
  1. 在pom中引入
    注意这里的 directory要和刚才新建的文件目录相同
<build>
<resources>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>BOOT-INF/classes/</targetPath>
            </resource>
        </resources>
    </build>

以上方法会导致问题,最好用

 <dependency>
            <groupId>xxx</groupId>
            <artifactId>xxx</artifactId>
            <version>v0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/xxx.jar</systemPath>
        </dependency>

其中xx 随意,为包名
6.结束
然后就可以在项目中使用引入的jar中的方法了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,593评论 25 708
  • 今天是六一儿童节,祝福所有的小朋友节日快乐! 经历了昨天的洗礼,自己还是挺乖的,今天上班时间真的都是在好好的做文书...
    Miucy230阅读 271评论 0 1
  • 读完这篇文章你可以自己写一个 YYModel 这样的神器,这篇文章类似一个源码解析,但不同的是,它不光光是解析,更...
    J0hnnny阅读 6,333评论 11 110