IDEA 打包普通JAVA项目为jar包

需求:普通java项目(有添加依赖的jar包),没有用maven管理依赖和打包,要打成jar包,包可以用"java -jar 包名" 启动程序。

讲如何打包前,先记录下普通项目的目录结构和怎么添加依赖包

1.目录结构如下

注:创建出来的java包和resource默认是普通文件夹,通过project structure-moudle 将java 包标记为源码目录,resource标记为资源目录

Sources面板-java目录右键-点击sources;

resource右键-点击Resources

2.添加依赖

方法一:

  • 在项目一级目录下,新建lib文件夹,放入需要依赖的jar包
  • 右键lib->Add as Library ,编译后就可以关联到依赖的包了

方法二:按一下步骤添加外部依赖jar包

开始打包

1.file-project structure进入项目设置

2.选择Artifacts-JAR-From modules with depandencies

3.选择依赖包的打包方式

module选择需要打包的模块,Main Class 选择程序要执行的主函数

(1)解压打包:会在项目jar包下自动显示依赖的包文件

  • 注:没有显示的话,手动添加依赖的包
  • 添加完成的包如下:依赖的jar包文件夹标志有个向下箭
  • 不需要配置Class path.(Class path用于指定依赖的jar)

(2)不解压打包

  • 选中项目jar包-创建新文件夹 lib,从右边将依赖的jar包拖到lib文件夹下
  • 选中jar包,修改 Class path,在所有jar前面加上lib/

打包完后,依赖的jar就会在test_demo.jar 里的/lib目录下

注:以上两种打包方式我没有深入了解,只在网上找了一些文章,并做了测试,结果如下

第一种打包方式:

  • 用java -jar 可以成功启动项目
  • 依赖的目录解压后与项目的包目录同级,会有点混在一起

第二种打包方式

  • 直接用java -jar 无法启动程序,会提示依赖的类找不到

我本来想要的结果是,依赖的jar包不解压,直接放入lib目录下,然后用java -jar启动,但实际没有实现,最后用了第一种打包方式

相关推荐
程序员老邢16 小时前
【技术底稿 12】内网统一日志系统 Loki + Promtail 全流程部署(对接 Grafana,监控日志一体化)
java·运维·程序人生·grafana·devops
银河系的一束光16 小时前
使用 IntelliJ IDEA 开发 Java 程序时 , 会遇到以下中文乱码问题 :
java·ide·intellij-idea
Via_Neo16 小时前
判断字符串前缀(26年蓝桥杯JAVA B组)
java·职场和发展·蓝桥杯
XiYang-DING16 小时前
【Java】从源码深入理解HashMap和TreeMap
java·开发语言
若水不如远方16 小时前
一文讲透单点登录原理(SSO):从同域共享到跨域票据
java·后端
不懂的浪漫16 小时前
mqtt-plus 架构解析(七):动态订阅与重连恢复,为什么能走同一条协调路径
java·物联网·mqtt·架构
无巧不成书021816 小时前
Unicode编码机制全解析:从核心原理到Java 实战
java·开发语言·java字符编码·unicode 15.1码点
mu_guang_16 小时前
计算机体系结构3-cache一致性和内存一致性的区别
java·开发语言·计算机体系结构
海兰16 小时前
使用 Spring AI 打造企业级 RAG 知识库第一部分:核心基础
java·人工智能·spring
恼书:-(空寄16 小时前
责任链模式实现流程动态编排
java·责任链模式