2017-07-14 20 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

相關問題