IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> idea 导出第三方 jar 包 (基于 tomcat8.5-redis-session-manager 编译打包成 jar) -> 正文阅读

[Java知识库]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
    在这里插入图片描述


总结

欢迎指出我的错误

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-31 23:49:43  更:2022-03-31 23:51:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:04:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码