3

Java プロジェクトで Goose を使用するにはどうすればよいですか? 私はボイラーパイプとグースの両方のオンライン バージョンをテストしましたが、最後のバージョンははるかに優れていますが、現在は Scala で開発されています。

以前のバージョンの jar を検索しましたが、見つかりません (API もありません)。最後に試した .jar は goose-2.1.22 です。私はそれを私のEclipseプロジェクトにインポートし、このコードで試しました:

String url = "http://www.cnn.com/2010/POLITICS/08/13/democrats.social.security/index.html";
Goose goose = new Goose(new Configuration());
Article article = goose.extractContent(url);
System.out.println(article.cleanedArticleText());

しかし、私はこのエラーが発生します:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/ScalaObject
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at daweb.main(daweb.java:212)
Caused by: java.lang.ClassNotFoundException: scala.ScalaObject
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 13 more

ScalaなしでGooseを使うことは可能ですか?

4

4 に答える 4

3

ビルドパスに Scala ライブラリを追加する必要があります

于 2013-10-05T14:29:01.770 に答える
1

scala-libraryjar をクラスパスに追加する必要があります。Maven を使用している場合は、この依存関係をプロジェクトに追加します。

<dependency>
    <groupId>org.scala-lang</groupId>
    <artifactId>scala-library</artifactId>
    <version>2.10.4</version>
</dependency>
于 2015-03-02T08:58:30.127 に答える
1

問題ページには、Java 用にコンパイルされた .jar を見つけることができるリンクがあります。 https://github.com/GravityLabs/goose/issues

import com.gravity.goose.*;


String url = "http://www.straitstimes.com/little-india-riot";
Goose goose = new Goose(new Configuration());
Article article = goose.extractContent(url);
System.out.println(article.cleanedArticleText());

このコードは、開始として機能します。

于 2013-12-14T06:20:52.157 に答える
1

依存関係を Maven で管理している場合は、goose を pom.xml の依存関係セクションに追加するだけ、推移的な依存関係がすべてクラス パスに配置されます。

<dependency>
    <groupId>com.gravity</groupId>
    <artifactId>goose</artifactId>
    <version>2.1.22</version>
</dependency>
于 2014-07-22T05:26:56.637 に答える