命令列生成jar檔案

qiuwenzheng發表於2024-03-16

做IT也二十年有餘了,一直做著運維工作,程式設計僅是業餘興趣,水平就是在Hello World的基礎上多做幾個練習,行在各語言都能試試手,偶爾也能做些提高效率小工具,多是味都沒怎麼嚼就新版本了,人也白髮生了...
運維嗎,效率在先,什麼容易就用什麼,c#,php,autoit,shell,bat,vba,sql,powershell,python,唯java總覺得雞肋,上不能下也不就,就真沒怎麼學,應用軟體又忒多。和c/c++一樣路過了無數遍就是入不了門。
這不閒著加撞上,今日拿java練練手,走到jar檔案生成這裡,難住了,耗了一下午。執行java -jar a01.jar就是報錯,提示”找不到或無法載入主類“,網上說是在jar包的MANIFEST.MF檔案裡新增Main-Class:,還不忘告訴說冒號後加空格,寫上類名再回車,可照做了還是執行不了。網頁上還列舉了”intellij idea“圖形介面上生成jar包的操作方式,照著走了一遍,有效。

可命令列的操作總得解決啊,就這麼試了報錯,報錯了重試,在兩篇網文拼湊下得已解決:
1.寫的java檔案需先編譯:javac a01/Main.java
2.java檔案不帶包,就是檔案首行不指定“package a01;”,可直接執行:java -cvf a01.jar -C a01 .
3.java檔案帶包,檔案首行有“package a01;”,需執行:jar -cvfe a01.jar a01.Main a01,多了一個引數-e,指定了主程式路徑,
可-C引數跑了呢,試了不明所以,加上就執行了,留待日後積累經驗來解釋了。
4.MANIFEST.MF檔案可以提前建立好,也可以用壓縮軟體直接開啟jar包修改裡面MANIFEST.MF檔案,都有效,引數加m,如-cvfm
5.執行命令:java -jar a01.jar

相關文章