我刚问了另一个问题,因为我遇到了一些例外。
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.plugins.NetworkPlugin
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_131]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_131]
... 56 common frames omitted
有人向我指出,这个异常意味着在运行时在类路径中找不到所提到的类。这是在pom.xml文件中有容器包的情况下。
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.5.0</version>
</dependency>
所以现在我的问题是,一个包怎么可以被命名为依赖项,但其中的某个类在运行时丢失了呢?而且, mvn dependency:tree -Dverbose -Dincludes=commons-collections
不返回冲突。
这是一个springboot项目,我正在调试模式下使用intellijidea运行。我还在我的代码中以完全相同的方式使用了其他十几个包,它们都工作得很顺利。但一旦我加入elasticsearch,我就会面临上述例外。
4条答案
按热度按时间a64a0gku1#
您是否尝试过清理并生成?因为有时,当您向pom.xml添加依赖项时,您会看到库正在下载,但如果您尝试在不生成它的情况下执行项目,则会出现该错误。
xxb16uws2#
是否可以尝试从计算机中删除已下载的依赖项。
它位于
~/.m2/repository/org/elasticsearch
假设您将maven依赖项保留在默认位置并在macosx上运行然后尝试使用重新下载依赖项
8e2ybdfx3#
你可以试着使用一个bellow版本的elasticsearch`dependency。您可以从以下依赖项中尝试一个依赖项:-
或者
xurqigkl4#
你错过了插件部分。
也许你还需要运输部分:
查看此链接是否有帮助:elasticsearch transportclient networkplugin noclassdeffounderror