004-IntelliJ IDEA導(dǎo)出Java 可執(zhí)行Jar包

保證自己的Java代碼是沒有問題的,在IDEA里面是可以正常運(yùn)行的,然后,按下面步驟:

打開File -> Project Structure -> Artifacts,如下圖

點(diǎn)擊“+”,選擇“Jar”,選擇Empty或From modules with dependencies,后者會(huì)把在項(xiàng)目中用到的Jar包解壓開,當(dāng)成項(xiàng)目的一部分,打包到最后的Jar包中。但是這樣會(huì)有一個(gè)問題,即,如果項(xiàng)目中引用的Jar包有簽名過,最后打包成的Jar包運(yùn)行時(shí)會(huì)拋出錯(cuò)誤:

“java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”

因此,筆者選擇的是Empty,然后在“Output Layout”中,把自己要打包的文件、文件夾添加進(jìn)去。對(duì)于外部引用的包,筆者全部放在lib目錄下,因此,在Class Path中,把依賴的jar包添加進(jìn)去,例如:

lib/javax.servlet-3.0.0.v201112011016.jar lib/jetty-all-9.1.5.v20140505.jar lib/json-simple-1.1.1.jar

設(shè)置好Main Class,這就不用多說了。

點(diǎn)擊OK。

回到IDEA,選擇Build -> Build Artifacts,成功生成Jar包。生成的Jar包位于上圖設(shè)置的Output directory。

使用命令java -jar xxxxx.jar來執(zhí)行jar包。

參考鏈接

http://blog.sina.com.cn/s/blog_3fe961ae0102uy42.html

保證自己的Java代碼是沒有問題的,在IDEA里面是可以正常運(yùn)行的,然后,按下面步驟:

打開File -> Project Structure -> Artifacts,如下圖

點(diǎn)擊“+”,選擇“Jar”,選擇Empty或From modules with dependencies,后者會(huì)把在項(xiàng)目中用到的Jar包解壓開,當(dāng)成項(xiàng)目的一部分,打包到最后的Jar包中。但是這樣會(huì)有一個(gè)問題,即,如果項(xiàng)目中引用的Jar包有簽名過,最后打包成的Jar包運(yùn)行時(shí)會(huì)拋出錯(cuò)誤:

“java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”

因此,筆者選擇的是Empty,然后在“Output Layout”中,把自己要打包的文件、文件夾添加進(jìn)去。對(duì)于外部引用的包,筆者全部放在lib目錄下,因此,在Class Path中,把依賴的jar包添加進(jìn)去,例如:

lib/javax.servlet-3.0.0.v201112011016.jar lib/jetty-all-9.1.5.v20140505.jar lib/json-simple-1.1.1.jar

設(shè)置好Main Class,這就不用多說了。

點(diǎn)擊OK。

回到IDEA,選擇Build -> Build Artifacts,成功生成Jar包。生成的Jar包位于上圖設(shè)置的Output directory。

使用命令java -jar xxxxx.jar來執(zhí)行jar包。

參考鏈接

http://blog.sina.com.cn/s/blog_3fe961ae0102uy42.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容