使用idea生成可執行jar

最近在給公司做一個小工具,最終是要打成可執行的jar交付。因爲之前沒做過相關的東西,所以在實際操作過程中呢也是遇到了很多的問題。當然對於一個長期面向百度編程的小菜雞來說,發現百度上很多錯誤並沒有相應的一些解決說明,在這裏呢,打算通過這篇文章將整個過程以及遇到的問題的解決方法做個一個詳細的說明,大家一起交流下。

當然對於可執行的jar,main方法是必須的,基於我的工程目錄,代碼如下
在這裏插入圖片描述

詳細步驟如下:

1,選中項目,右鍵file,選中Project Struture
在這裏插入圖片描述
2,選中Artifacts,既然是打成jar文件,我們選擇相應的JAR即可,然後是基於我們本地的工程,選下面的 from modules with dependencies… 如下圖
在這裏插入圖片描述
3,選擇入口方法,即我們的main方法所在的類
在這裏插入圖片描述
在這裏插入圖片描述
4,選擇main方法主類後,會對應產生一個MANIFEST.MF文件的生成路徑
備註:MANIFEST.MF文件會生成在META-INF文件夾下面,主要包含我們jar的很多相關一些屬性信息,常見的有
Manifest-Version 用來定義manifest文件的版本,例如:Manifest-Version: 1.0
Main-Class 定義jar文件的入口類,該類必須是一個可執行的類,一旦定義了該屬性即可通過 java -jar x.jar來運行該jar文件
其他相關,詳見百度,Google,bing等各大搜索引擎,說的都比我好

對於下面 jar files from libraries 我們勾選第一個將自己的項目打成一個jar即可
在這裏插入圖片描述
5,選址確認後,對生產基於當前項目的jar生成的相關配置,具體詳細說明如下:
1),對於需要針對哪個jar去打包
2),打出的jar的名字,可以自己隨便改成什麼,比如:XXX
3),type就是你打出的文件類型,比如我們要打成jar文件
4),打出的jar的生成路徑,可以選擇你需要放置的任何位置
5),主程序入口,即我們前面選的那個main方法入口
在這裏插入圖片描述
6,上面的設置完成之後,便可以進行相應的一些打包操作了,具體如下截圖
在這裏插入圖片描述
在這裏插入圖片描述
7,如圖,可見我們的jar已經打出來了
在這裏插入圖片描述
8,然後我們cmd進去當前目錄,執行java -jar version-publish.jar執行當前jar包(前提是配置jdk),如圖可見,我們的jar已經可以正常執行了。
在這裏插入圖片描述

---------------------------------------------------------------> 前方高能 <---------------------------------------------------------------
常見問題:
1,jar包問題
我再前期打包的時候,會出現一個錯誤如下,大致是打poi-ooxml-3.8的時候出現io異常,然後查閱很多資料,發現一般這種情況是由於jar包衝突,或者jar文件損壞造成,於是我換成3.9的poi-ooxml的jar,問題順利解決(備註:當然有知道其他原因的大兄弟們歡迎和我交流!)
在這裏插入圖片描述
2,打出jar後執行報沒有主清單屬性:
這個呢就是我們前面說的那個MANIFEST.MF文件了,裏面沒有Main-Class
在這裏插入圖片描述
我們打開對應的MANIFEST.MF文件,發下確實沒有Main-Class配置,可將我們工程中的MANIFEST.MF文件中的
Main-Class配置對應copy過來即可:Main-Class: execute.ExportUntil (備註:至於爲什麼打包的時候配置會丟失?idea的bug?還是其他?我是真的不知道,歡迎知道的大兄弟和我交流一下!)
在這裏插入圖片描述

配置完成後發現我們jar包可以正常運行了,如上整個iead的jar包生成過程就算完成了!歡迎大兄弟們指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章