当我尝试从
http://wiki.languagetool.org/java-api
JLanguageTool langTool = new JLanguageTool(new BritishEnglish());
langTool.activateDefaultPatternRules();
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 line " +
match.getLine() + ", column " +
match.getColumn() + ": " + match.getMessage());
System.out.println("Suggested correction: " +
match.getSuggestedReplacements());
}
提供的解决方案: java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar
这意味着 LanguageTools 依赖项中指定的 Xerces 将是造成麻烦的那个。
mvn dependency:tree | grep -i xerces
不显示任何结果,并且在 Languagetools pom.xml Xerces 中明确排除。
我自己的测试项目具有以下 xerces 依赖项:
mvn dependency:tree | grep -i xerces
[INFO] | | | | +- org.bluestemsoftware.open.maven.tparty:xerces-impl:jar:2.9.0:compile
[INFO] | | | | \- xerces:xercesImpl:jar:2.6.2:compile
我假设我确实摆脱了这些依赖项之一,更改了依赖项的顺序或为 LanguageTool 添加了正确的 xerces 依赖项。什么是正确的方法 - 其中一种或其他方法?