我是实现拼写校正器的语言工具。我目前正在尝试运行检查字符串中基本拼写错误的示例代码。我将 languagetool-core-2.2.jar 下载并导入到 Netbeans 中的项目库中。
我的导入是:
import org.languagetool.JLanguageTool;
import org.languagetool.language.BritishEnglish;
import org.languagetool.rules.RuleMatch;
我的代码是这样的:
JLanguageTool langTool = new JLanguageTool(new BritishEnglish());
for (Rule rule : langTool.getAllRules()) {
if (!rule.isSpellingRule()) {
langTool.disableRule(rule.getId());
}
}
List<RuleMatch> matches = langTool.check("A speling error");
for (RuleMatch match : matches) {
System.out.println("Potential typo at line " + match.getLine() + ", column " + match.getColumn() + ": " + match.getMessage());
System.out.println("Suggested correction(s): " + match.getSuggestedReplacements());
}
我在第一次和第三次导入时没有收到任何导入错误,但在第二次导入时收到错误"找不到符号:英式英语"。
在试图找到一个包含所有必需软件包的完美工作.jar后,我感到沮丧了几个小时,我已经放弃了。
您能否指出一个可以解决导入错误的工作.jar?
没有一个 JAR 包含您需要的所有内容。我们(语言工具(开发人员建议使用 Maven 或 Gradle 来管理依赖项,如 http://wiki.languagetool.org/java-api 中所述。
另外,LanguageTool 2.2真的很旧,我们目前是4.1。
让我们尝试使用库运行一个jar文件:
java -cp YOUR_FILE_JAR.jar:libs/* com.yourpakage.Main
YOUR_FILE_JAR.jar是你的 jar 文件
libs/* 是你的依赖 JAR 的路径。通常,它与jar文件
com.yourpakage.main是具有main(String[](方法
的类相同的文件夹
我使用maven,并发现此问题可能与此相关:
Exception in thread "main" java.lang.NoClassDefFoundError: org/languagetool/Languages
at com.mycompany.app.App.main
Caused by: java.lang.ClassNotFoundException: org.languagetool.Languages
我把它放在pom文件中:
<properties>
<exec.mainClass>com.mycompany.app.App</exec.mainClass>
</properties>
然后通过 maven 执行项目:
$ mvn clean compile
$ mvn exec:java