我想使用LanguageTool 的 Java API进行拼写检查,因此我将其依赖项添加到我的pom.xml
:
<dependency> <groupId>org.languagetool</groupId> <artifactId>language-en</artifactId> <version>4.7</version> </dependency>
由于某种原因,它下载了 40MB 的jar
依赖项,这看起来很可疑。这是所有这些的屏幕截图:
但如果我们访问Maven 中央存储库,它.jar
只有4.7MB。
之后我注意到scala-compiler.jar
大约有20MB,我试图排除它:
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
</exclusion>
然后我运行了我的main,一切都运行良好:
public static void main(String[] args) throws IOException {
JLanguageTool lang = new JLanguageTool(new AmericanEnglish());
List<RuleMatch> matches = lang.check("This is a speling errorr.");
for (RuleMatch match : matches)
{
System.out.println(match.getSuggestedReplacements());
}
}
所以我花了一些时间开始排除越来越多的依赖项,在其中一些依赖项中我得到了ClassNotFoundException,这很好,因为如果language-tool使用其中一些依赖项是有意义的。但是那些没用过的呢?是否有机会使用,但我的代码不使用其中的任何类,所以我避免得到一个ClassNotFoundException?
我的问题是为什么它会下载未使用的依赖项。有没有办法找出其中哪些是无用的,以便我可以排除它们?
墨色风雨
相关分类