[英]Getting Jodd Jerry: NoClassDefFoundError - jodd/exception/UncheckedException
[英]Java: using Jodd Jerry - NoClassDefFoundError
我想在java中使用Jodd庫,因為我想嘗試Jerry 。 為此,我已經包含了這個問題的答案中顯示的庫,並使用了以下代碼:
File file = new File(SystemUtil.getTempDir(), "test.html");
NetUtil.downloadFile("http://de.wikipedia.org/wiki/Toastbrot", file);
Jerry doc = Jerry.jerry(FileUtil.readString(file));
執行此代碼會產生以下錯誤消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at jodd.lagarto.LagartoParserEngine.<clinit>(LagartoParserEngine.java:22) at jodd.jerry.Jerry$JerryParser.createLagartoDOMBuilder(Jerry.java:80) at jodd.jerry.Jerry$JerryParser.<init>(Jerry.java:73) at jodd.jerry.Jerry.jerry(Jerry.java:121) at jodd.jerry.Jerry.jerry(Jerry.java:53) at sla.htmlf.Main.test(Main.java:36) at sla.htmlf.Main.main(Main.java:19) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:321) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334) ... 7 more
at sla.htmlf.Main.test(Main.java:36)sla.htmlf.Main.main(Main.java:19)當然是指我項目的類
這是我第一次遇到NoClassDefFound異常。 似乎缺少org.slf4j.LoggerFactory,但如果我沒有弄錯,那就是jodd庫使用的東西 - 然后應該包含在那里,對吧?
我真的很感激一些建議/幫助
將slf4j-api-1.7.2.jar
添加到您的類路徑中。
正如您在下載頁面上看到的那樣, jodd-lagarto模塊( Jerry所屬)依賴於SLF4J日志庫。
請閱讀有關登錄Jodd的更多信息。 在此頁面上,您還可以找到一些快速設置環境並使其正常工作的步驟。
這些步驟是:
使用SLF4J,您可以選擇要使用的日志框架:none,log4j,commons等; Jodd的作者建議使用logback 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.