保證自己的Java代碼是沒有問題的,在IDEA里面是可以正常運行的,然后,按下面步驟:
打開File -> Project Structure -> Artifacts,如下圖
點擊“+”,選擇“Jar”,選擇Empty或From modules with dependencies,后者會把在項目中用到的Jar包解壓開,當成項目的一部分,打包到最后的Jar包中。但是這樣會有一個問題,即,如果項目中引用的Jar包有簽名過,最后打包成的Jar包運行時會拋出錯誤:
“java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”
因此,筆者選擇的是Empty,然后在“Output Layout”中,把自己要打包的文件、文件夾添加進去。對于外部引用的包,筆者全部放在lib目錄下,因此,在Class Path中,把依賴的jar包添加進去,例如:
lib/javax.servlet-3.0.0.v201112011016.jar lib/jetty-all-9.1.5.v20140505.jar lib/json-simple-1.1.1.jar
設置好Main Class,這就不用多說了。
點擊OK。
回到IDEA,選擇Build -> Build Artifacts,成功生成Jar包。生成的Jar包位于上圖設置的Output directory。
使用命令java -jar xxxxx.jar來執行jar包。
參考鏈接
http://blog.sina.com.cn/s/blog_3fe961ae0102uy42.html
保證自己的Java代碼是沒有問題的,在IDEA里面是可以正常運行的,然后,按下面步驟:
打開File -> Project Structure -> Artifacts,如下圖
點擊“+”,選擇“Jar”,選擇Empty或From modules with dependencies,后者會把在項目中用到的Jar包解壓開,當成項目的一部分,打包到最后的Jar包中。但是這樣會有一個問題,即,如果項目中引用的Jar包有簽名過,最后打包成的Jar包運行時會拋出錯誤:
“java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”
因此,筆者選擇的是Empty,然后在“Output Layout”中,把自己要打包的文件、文件夾添加進去。對于外部引用的包,筆者全部放在lib目錄下,因此,在Class Path中,把依賴的jar包添加進去,例如:
lib/javax.servlet-3.0.0.v201112011016.jar lib/jetty-all-9.1.5.v20140505.jar lib/json-simple-1.1.1.jar
設置好Main Class,這就不用多說了。
點擊OK。
回到IDEA,選擇Build -> Build Artifacts,成功生成Jar包。生成的Jar包位于上圖設置的Output directory。
使用命令java -jar xxxxx.jar來執行jar包。
參考鏈接