2017-07-14 8 views
1

another question私はClassNotFoundExceptionに直面していたので、ちょうど質問しました。パッケージがpom.xmlに依存関係としてリストされているときにClassNotFoundExceptionを取得する理由

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ブートプロジェクトです。私はまったく同じ方法で私のコードで他に十数個のパッケージを使用しており、それらはすべてスムーズに動作します。しかし、Elasticsearchを追加するとすぐに、私は上記の例外に直面します。

+0

ポストすべてのスタックトレース:このリンクは場合に役立ちます

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

を参照してください。ある人はここで魔法を使う。 – talex

答えて

1

ダウンロードした依存関係をコンピュータから削除できますか?それはあなたと仮定すると、~/.m2/repository/org/elasticsearchに位置しています

は、あなたが見逃している

mvn dependency:resolve 
0

あなたは依存性の1つのベローバージョンelasticsearchを試してみることができます。あなたが怒鳴る依存関係から1つの依存関係を試すことができます: -

<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

使用して依存関係を再ダウンロードしてみてデフォルトの場所にMavenの依存関係を維持し、その後のMac OS X

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

上で実行されていますプラグイン部分。

<!-- 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> 

たぶん、あなたはまた、輸送部品が必要です。Elasticsearch TransportClient NetworkPlugin NoClassDefFoundError

関連する問題