2016-10-02 19 views
0

私はAPIを使用するにはthisサンプルコードを使用しています。私はmavenを使いたくないので、hereからjarファイルをダウンロードし、ビルドパスにorgとlibのJarファイルを含め、サンプルコードを実行しようとしました。Java言語ツールライブラリ、依存関係が見つかりません

Error:(15, 56) java: cannot find symbol 
    symbol: class BritishEnglish 
    location: class draft 
Error:(3, 34) java: cannot find symbol 
    symbol: class BritishEnglish 
    location: package org.languagetool.language 

ここで私はオンラインで答えを見つけましたが、私はそれを理解していない私のコード

import org.languagetool.JLanguageTool; 
import org.languagetool.language.BritishEnglish; 
import org.languagetool.rules.RuleMatch; 
import java.io.*; 
import java.util.List; 

public class draft { 
    public static void main(String[] args) throws IOException { 

     JLanguageTool langTool = new JLanguageTool(new BritishEnglish()); 
     // comment in to use statistical ngram data: 
     //langTool.activateLanguageModelRules(new File("/data/google-ngram-data")); 
     List<RuleMatch> matches = langTool.check("A sentence with a error in the Hitchhiker's Guide tot he Galaxy"); 
     for (RuleMatch match : matches) { 
      System.out.println("Potential error at characters " + 
        match.getFromPos() + "-" + match.getToPos() + ": " + 
        match.getMessage()); 
      System.out.println("Suggested correction(s): " + 
        match.getSuggestedReplacements()); 
     } 
    } 
} 

です:私はこのエラーを得ました。

"BritishEnglishはJARではなく" org "ディレクトリにありますが、" zip -r languages.jar org/"のようにJARに入れることができます。次に、languages.jarをクラスパスに追加します他のJAR "を参照してください。

+0

これはビルド/実行の問題ではありません。あなたのCLASSPATHとあなたのドラフトクラスの呼び出し方法を見なければなりません。 – Jameson

+0

@ jameson私は編集しました、それを確認してください、多分あなたが助けることができます –

答えて

1

言語の実装自体は、明らかに別々のjarファイルにパックされています。あなたが必要とする1は言語en.jarである:

https://search.maven.org/remotecontent?filepath=org/languagetool/language-en/3.5/language-en-3.5.jar

あなたはここでそれを見ることができます:

[email protected]:~$ jar -tf language-en-3.5.jar | grep BritishEnglish 
org/languagetool/language/BritishEnglish.class 

ダウンロードして、あなたのクラスパスにそれを追加してみてください。また、文書の項目を必ず実行してください:http://wiki.languagetool.org/java-api#toc4。依存関係のjarを再パックすることはお勧めできません。それはクルージングです。代わりにmavenを使うことをお勧めします。

+1

ありがとう、それは働いた。 –

関連する問題