日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file

發布時間:2025/3/11 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天開發一個小工具,引用了Log4j,來記錄日志,在eclipse下運行,代碼正常,打包成jar放到doc命令行下運行報錯:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
? ? ? ? at miaogen.zeng.util.jdbc.Configuration.<init>(Configuration.java:20)
? ? ? ? at miaogen.zeng.util.jdbc.Configuration.getInstance(Configuration.java:37)
? ? ? ? at miaogen.zeng.service.index.main(index.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
? ? ? ? at java.net.URLClassLoader.findClass(Unknown Source)
? ? ? ? at java.lang.ClassLoader.loadClass(Unknown Source)
? ? ? ? at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
? ? ? ? at java.lang.ClassLoader.loadClass(Unknown Source)
? ? ? ? ... 3 more


試了百度上各種方法。后來試了下導出 runable jar file試試。運行成功!

jar file和runable jar file 導出后的區別如下圖:

runable jar file:



jar file:



META-INF的文件區別



下文是轉載的解釋

直接運行 .class的方法 ? ? java ?-cp . ?com.network.Chat ?, 不用加.class后綴?

?? ?從eclipse中export 的jar file,僅僅是把.class打包了。所以執行這種jar file需要用 java -cp .;ch04.jar com.thnkjava.ch04, 如果你還應用到另外的lib庫,你必須在cp里說明,也就是 ?java -cp .;ch04.jar;lib01.jar;lib02.jar?com.thnkjava.ch04 來執行。事實上可以發現ch04.jar也在cp里面,說明ch04.jar就是lib庫,最后的參數指明了要被執行的類名。

?? ?如果從eclipse里export出的是 runnable jar file,那么個執行這個jar包的時候是不需要指明哪個類的,直接這樣執行 java -jar ch04.jar。原因就是jar包中的MANIFEST.MF內容不同。 runnable jar包中指明哪個類先執行,所以你可以用 java -jar ch04.jar來執行你想要執行的代碼,而不必指明具體哪個類。這個你可以打開 jar包查看MANIFEST.MF的區別,一目了然。

?? ? 生成runnable jar file時,有兩個選項,Extract required libraries into generated JAR 和 package?equired libraries into generated JAR。 前者是把你用到的.class 文件提取出來,后者則是把你所需要的所有jar包都打進一個包里。兩者的MANIFEST.MF文件內容也有所不同,這應該是eclipse造成的,IDE 做了自己的事情,具體就不研究了。



總結

以上是生活随笔為你收集整理的代码在eclipse下不报错,在doc命令行下报错--jar file和runable jar file的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。