当前位置: 首页 > 知识库问答 >
问题:

使用apache-common-lang3的ClassNotFoundException

楚昀
2023-03-14

我正在使用Elasticsearch Jest客户端编写我自己的客户端应用程序。

我一直在用java。lang.ClassNotFoundException:org。阿帕奇。平民lang3。StringUtils

即使我已经在构建通行证中包含了所有的JAR。

采取的行动:

  1. 禁用maven并手动添加所有JARS
  2. 在3.3.2的基础上增加了apache-colon-lang-2.6
  3. 清洁/重启eclipse

一无所获

错误消息:

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:class output:
             Line 6: C:\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For   Jest\commons-lang-2.6.jar;
            Line 7: C:\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For Jest\commons-lang-2.6-javadoc.jar;
            Line 8: C:\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For Jest\commons-lang-2.6-sources.jar;
            Line 9: C:\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For Jest\commons-lang3-3.3.2.jar;
            Line 10: :\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For Jest\commons-lang3-3.3.2-javadoc.jar;
            Line 11: C:\Users\Eitan\workspace\SelfAnomalyDetector - ver7\JARs For Jest\commons-lang3-3.3.2-sources.jar;
             Line 64: C:\Users\Eitan\.m2\repository\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar

共有1个答案

邢昂然
2023-03-14

只是浏览一下,甚至不知道你想做什么,我的第一个猜测是,这两个主要的依赖关系应该足够了:

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

另外,我的猜测是,您有两个版本的appache-copic-lang3的混合。一个可能被重新包装为另一个的一部分。

然而,我检查了您的所有依赖项(我可以在您的快照中看到),但没有找到apache-common-lang3的重新打包:

  • 开玩笑
  • jest common——它确实有嵌套的依赖项,可以自动拉入apache-common-lang3
  • gson
  • 弹性搜索

我还研究了刚才提到的所有嵌套依赖项。没有重新包装的痕迹。所以现在还不确定。

我希望您也不要自定义类路径,或者在java安装的lib/ext中的某个地方手动插入库的某个版本。

 类似资料:
  • 问题内容: 我正在尝试使用此库运行示例项目,但出现以下错误: 我在 libs* 和 classpath中 添加了 commons-lang-2.6.jar 和 commons- lang3-3.1-sources.jar *** 主班: 我已提及以下链接: java.lang.ClassNotFoundException:来自BaseClassLoader的org.apache.commons.l

  • 问题内容: 我正在尝试编写程序来读取CSV文件,然后用它做一些东西。我进行了很多搜索,终于找到了这个库。 几天前,我完成了代码,一切正常。今天,我将该库更新为4.0 v,然后弹出了很多警告。 我进行了一些测试,但失败的部分是: 这个。 警告是: 这个 我知道这是一个库问题,但是我不知道是什么库导致的,或者我是否需要更新或安装某些东西。 非常感谢你。 问题答案: 似乎您没有使用apache comm

  • 我想在jstl标签中使用StringUtils.abbreviate(),是否有一个taglib位置? 我已经搜索了公共网站和网络,但找不到一个例子。有没有一种常见的方法来找到taglib位置,也许是在javadoc树的标准位置?? 谢谢尼克

  • 我试图将html视图源代码编码为。从这个答案中得到了帮助,但首先我使用了但是看到了这个链接,它被移动到了 下面是我的代码: 此代码抛出以下错误: 问题1:它使用了apache通用文本包,但抛出了关于apache共用lang3的错误? 问题2:如何修复它? 有什么建议吗拜托 顺致敬意,

  • 我正在尝试编写一个程序来读取CSV文件,然后用它做一些东西。我找了很久,终于找到了这个图书馆。 几天前,我完成了代码,一切正常。今天我把库更新到4.0 v,然后弹出了很多警告。 我做了一些测试,失败的部分是: 这一个。 警告是: 这些。 我知道这是一个库问题,但我不知道是什么库导致了它,或者我是否需要更新或安装一些东西。 非常感谢你。

  • 我试图使用此库运行示例项目,但出现以下错误: 我添加了commons-lang-2.6。罐子 主要类别: 我提到了以下链接: > 爪哇。lang.ClassNotFoundException:org。阿帕奇。平民BaseClassLoader中的lang.StringUtils Struts 2框架演示 http://apache-commons.680414.n4.nabble.com/lang