0

我正在使用示例代码来使用 API。我不想使用 maven,所以我从这里下载了 jar 文件,并将 org 和 lib 中的 Jar 文件包含到构建路径中,然后尝试运行示例代码。我收到了这个错误:

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 在“org”目录中,而不是在 JAR 中,但您可以像这样放入一个 JAR:“zip -r languages.jar org/”,然后像其他 JAR 一样将 language.jar 添加到您的类路径中。”

4

1 回答 1

1

显然,语言实现本身被打包到单独的 jar 中。您需要的是 language-en.jar:

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

在这里你可以看到它:

jameson@spinach:~$ jar -tf language-en-3.5.jar | grep BritishEnglish
org/languagetool/language/BritishEnglish.class

尝试下载它并将其添加到您的类路径中。还要确保执行文档中的项目:http ://wiki.languagetool.org/java-api#toc4 。我不建议重新打包依赖项 jar,这很笨拙。我也建议改用 maven。

于 2016-10-02T01:16:35.983 回答