1

Jerryを試してみたいので、JavaでJoddライブラリを使いたいです。そのために、この質問への回答に示されているようなライブラリを含め、次のコードを使用しました。

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) at sla.htmlf.Main.main(Main.java:19) もちろん、私のプロジェクトのクラスを参照しています

NoClassDefFound 例外に遭遇したのはこれが初めてです。org.slf4j.LoggerFactory が欠落しているように見えますが、私が間違っていなければ、それは jodd ライブラリが使用するものであり、そこに含まれているはずですよね?

これに関するアドバイス/ヘルプをいただければ幸いです

4

4 に答える 4

1

slf4j-api-1.7.2.jarクラスパスに追加します。

ダウンロード: http: //www.slf4j.org/dist/slf4j-1.7.2.zip

于 2012-11-28T10:28:24.620 に答える
1

ダウンロードページでわかるように、jodd-lagartoモジュール(Jerryが属する)はSLF4Jログライブラリに依存しています。

Joddへのログインの詳細をお読みください。このページでは、環境をセットアップして機能させるための簡単な手順もいくつかあります。

これらの手順は次のとおりです。

  • http://www.slf4j.org/download.htmlにアクセスして、SLF4J配布パッケージをダウンロードします。
  • クラスパスにslf4j-api-XXXjarを配置します
  • ロギングが必要ない場合は、クラスパスにslf4j-nop-XXXjarを配置するだけです。
  • それ以外の場合は、http: //logback.qos.ch/download.htmlにアクセスして、LOGback配布パッケージをダウンロードしてください。
  • logback -core.jarlogback-classic.jarをクラスパスに配置します。

SLF4Jを使用すると、使用するロギングフレームワークを選択できます:none、log4j、commonsなど。Joddの作者はlogbackを推奨しています。

于 2012-11-29T09:15:12.607 に答える
1

他のライブラリの 1 つによって参照されているslf4jライブラリが見つからないようです。

于 2012-11-28T10:25:49.080 に答える
0

slf4j-api-1.7.2.jarcommons-logging-1.1.1.jarがありませんでした

于 2012-11-28T10:36:51.070 に答える