2015-05-16 4 views
-2

Я использую клиент Elasticearch Jest для написания своего собственного клиент-приложения.ClassNotFoundException с использованием apache-common-lang3

я получаю эту
java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils

, хотя я включил все JARs в сборки проход.

действия, предпринятые: 1. Отключено Maven и вручную добавлены все баночках 2. Добавлена ​​апач-синфазного Ланг-2,6 на верхней части 3.3.2 3. чистый/рестарта затмить

не получил НИЧЕГО :(

скриншот с ошибкой: сообщение
screenshot with error

ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError:  
    org/apache/commons/lang3/StringUtils 

    at io.searchbox.action.AbstractAction.buildURI(AbstractAction.java:171) 
    at io.searchbox.action.AbstractDocumentTargetedAction.buildURI(AbstractDocumentTarg  etedAction.java:40) 
    at io.searchbox.core.Index.<init>(Index.java:23) 
    at io.searchbox.core.Index.<init>(Index.java:15) 
    at io.searchbox.core.Index$Builder.build(Index.java:63) 
at 

Kinnetics.KinneticsElasticsearchClient.indexParameter(KinneticsElasticsearchClient.java:54) 
at Kinnetics.ManagementWrapper.main(PredictoModule.java:74) 
at Kinnetics.PredictoModule.main(PredictoModule.java:28) 
Caused by: java.lang.ClassNotFoundException:  org.apache.commons.lang3.StringUtils 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 8 more 

verbose: класс output: Строка 6: C: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang-2.6.jar; Строка 7: C: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang-2.6-javadoc.jar; Строка 8: C: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang-2.6-sources.jar; Строка 9: C: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang3-3.3.2.jar; Строка 10:: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang3-3.3.2-javadoc.jar; Строка 11: C: \ Users \ Eitan \ workspace \ SelfAnomalyDetector - ver7 \ JARs Для Jest \ commons-lang3-3.3.2-sources.jar; Линия 64: C: \ Users \ Eitan.m2 \ repository \ org \ apache \ commons \ commons-lang3 \ 3.3.2 \ commons-lang3-3.3.2.jar

+0

Просьба указать вашу ошибку в качестве кода (4 отступа) в качестве стартового. Легко копировать/вставлять и быстро просматривать.Позволяет также не реконструировать все библиотеки, в которых вы нуждаетесь, и начать с здорового (лучшего усилия) pom. Какую зависимость вы используете для включения «Elasticsearch»? Предоставьте другой фрагмент кода, связанный с зависимостью. – YoYo

+1

Пожалуйста, добавьте -verbose: класс для выполнения и публикации результатов. Он точно скажет вам, какие банки загружаются и откуда –

+0

@ChristianBongiorno приветствует этот ответ – YoYo

ответ

0

Просто просматривайте и даже не имеете невдомек, что вы пытаетесь сделать, мой первый бы предположить, что эти два основных зависимостей должны быть достаточно:

<dependency> 
    <groupId>io.searchbox</groupId> 
    <artifactId>jest</artifactId> 
    <version>0.1.1</version> 
</dependency> 
<dependency> 
    <groupId>org.elasticsearch</groupId> 
    <artifactId>elasticsearch</artifactId> 
    <version>1.0.1</version> 
</dependency> 

Также я думаю, что у вас есть Mixup двух версий appache-common-lang3. Можно было бы переупаковать как часть другого.

Однако, я прошел через всю вашу зависимость (что я мог видеть в вашем снимке), и не могу найти переупаковки апача-здравого lang3:

  • шутка
  • Шутка-общей - это действительно есть вложенная зависимость автоматически тянуть в апача-здравом lang3
  • gson
  • elasticsearch

Я также прошли через все вложенные зависимости только что упомянутых. Никаких следов переупаковки. Так что теперь не уверен.

Надеюсь, вы также не настроили свой путь к классу или не запустили где-нибудь версию библиотеки вручную где-нибудь в lib/ext вашей установки java.

+0

Привет, я отделил этот проект от Maven, так что теперь есть POM с зависимостями. Я вручную разместил все JARS в проекте. Кроме того, я не настраивал путь к классу вручную, но когда я использую: System.out.println (System.getProperty («java.class.path»)), я вижу, что appache- common-lang 3 загружается дважды, из двух разных мест (одна и та же версия) имеет значение? –

+0

* no POM (вместо теперь POM ...) –

+0

Ребята, пожалуйста ... что-нибудь? дайте мне что-нибудь здесь :( –