需求:普通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启动,但实际没有实现,最后用了第一种打包方式