2017-07-14 65 views
1

我刚才问another question,因为我正面临一些ClassNotFoundException。为什么我得到ClassNotFoundException,而该包在pom.xml中被列为依赖关系

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也不会产生冲突。

这是我在调试模式下使用IntelliJ Idea运行的Spring Boot项目。我也以同样的方式在我的代码中使用了十几个其他软件包,并且它们都能够顺利运行。但是一旦我添加Elasticsearch,我就会面临上述例外。

+0

帖子所有堆栈跟踪。有人在这里使用魔法。 – talex

回答

1

您可以尝试从计算机中删除下载的依赖项。

它位于~/.m2/repository/org/elasticsearch假如您保持Maven依赖于默认位置,在Mac OS X

rm -rf ~/.m2/repository/org/elasticsearch/* 

然后运行试试重新下载使用依赖

mvn dependency:resolve 
0

您可以尝试使用一个波纹管版本elasticsearch的依赖性。你可以尝试从波纹管依赖一个依赖: -

<dependency> 
<groupId>org.elasticsearch</groupId> 
<artifactId>elasticsearch</artifactId> 
<version>5.4.3</version> 
</dependency> 

<dependency> 
<groupId>org.elasticsearch</groupId> 
<artifactId>elasticsearch</artifactId> 
<version>6.0.0-alpha2</version> 
</dependency> 
0

你尝试清理并生成?因为有时当你添加一个依赖于你的pom.xml,你会看到,图书馆正在下载,但如果你尝试执行你的项目没有建立它,你会得到这个错误。

0

你已经错过了插件部分。

<!-- https://mvnrepository.com/artifact/org.elasticsearch.plugin/plugins --> 
<dependency> 
    <groupId>org.elasticsearch.plugin</groupId> 
    <artifactId>plugins</artifactId> 
    <version>2.4.5</version> 
    <type>pom</type> 
</dependency> 

也许你还需要传输部分:

<dependency> 
    <groupId>org.elasticsearch.client</groupId> 
    <artifactId>transport</artifactId> 
    <version>5.5.0</version> 
</dependency> 

看看这个链接帮助:Elasticsearch TransportClient NetworkPlugin NoClassDefFoundError

相关问题