保證自己的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包。
參考鏈接