idea 导出第三方 jar 包 (基于 tomcat8.5-redis-session-manager 编译打包成 jar)


前言

相信搞 java 的都用过第三方的 jar 包,例如 log4j、jedis 等等。
但大家都有自己动手编译打包过一个 jar 吗?
过程中是否有遇到过这样一个问题:打包的 class 文件里面引入了另一个第三方的包,而并没有将他引入将要打包的 jar,这时候编译是报错的。


一、准备工作

这篇文章我将用 tomcat8.5-redis-session-manager 来编译打包成 jar

为什么要下载 tomcat 的源码?

因为要先将 tomcat8.5-redis-session-manager 编译成 class 文件,而他里面的代码用到了 tomcat 的类,直接编译会报错找不到类。

二、操作过程

1. 编译 class 文件

idea 打开 tomcat 的源码,在 java 目录下新建 com/s/tomcat/redissessions
把 tomcat8.5-redis-session-manager 源码下对应的 java 文件复制过去
在这里插入图片描述
这时候 RedisSessionManager.java 是报错说找不到类的,引入 tomcat8.5-redis-session-manager 下 lib 目录的两个 jar 包
在这里插入图片描述
编译 class 文件
在这里插入图片描述
这时候 target 目录已经生成了我们想要的 class 文件
在这里插入图片描述
到这里 tomcat 的源码已经完成了他的使命,我们不再用到他了

2. 移动 class 文件

idea 导入 tomcat8.5-redis-session-manager
将刚才 target 目录下的 com/s/tomcat/redissessions 整个目录包括 class 文件复制粘贴到这里
因为 java 文件没用了,我删除了

注意:下面的 src 目录因为缺少类是会报错的,不用理会

在这里插入图片描述

3. 编译打包 jar

  • 打开 Project Structure ——> Artifacts ——> 添加一个 empty 的 jar

在这里插入图片描述

  • 写上名字

在这里插入图片描述

  • 添加目录

注意:这个目录必须对应上你生成的 class 文件的 package
在这里插入图片描述

  • 把 class 文件放进去

在这里插入图片描述

  • 新建一个 lib 目录放进去刚才的两个 jar 包
    在这里插入图片描述

  • 鼠标点击 jar , 创建 MANIFEST.MF 文件
    在这里插入图片描述
    点击 OK 保存关闭窗口。一切准备就绪!

  • 先 build 一下项目
    在这里插入图片描述

  • build Artififacts
    在这里插入图片描述
    在这里插入图片描述
    这时候,out 目录下的 artifacts 目录下就有了我们打包的 jar
    在这里插入图片描述


总结

欢迎指出我的错误

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值