需求:普通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啟動,但實際沒有實現,最后用了第一種打包方式