Java MapperBuilder的NoClassDefFoundError

Java MapperBuilder的NoClassDefFoundError,java,jmeter,libraries,Java,Jmeter,Libraries,我正在为JMeter开发插件,作为过程的一部分,我们添加了一些第三方库 运行应用程序时,我遇到一个错误: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/cfg/MapperBuilder at io.lindstrom.mpd.MPDParser.defaultObjectMapper(MPDParser.java:57) ~[mpd-parser-0.6.jar:?] at io.lindstrom

我正在为JMeter开发插件,作为过程的一部分,我们添加了一些第三方库

运行应用程序时,我遇到一个错误:

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/cfg/MapperBuilder
    at io.lindstrom.mpd.MPDParser.defaultObjectMapper(MPDParser.java:57) ~[mpd-parser-0.6.jar:?]
    at io.lindstrom.mpd.MPDParser.<init>(MPDParser.java:33) ~[mpd-parser-0.6.jar:?]
    at com.blazemeter.jmeter.hls.logic.HlsSampler.sample(HlsSampler.java:237) ~[jmeter-bzm-hls-2.0-SNAPSHOT.jar:?]
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220) ~[ApacheJMeter_http.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.cfg.MapperBuilder
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_211]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_211]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_211]
    ... 9 more
java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/cfg/MapperBuilder
在io.lindstrom.mpd.MPDParser.defaultObjectMapper(MPDParser.java:57)~[mpd-parser-0.6.jar:?]
在io.lindstrom.mpd.MPDParser.(MPDParser.java:33)~[mpd-parser-0.6.jar:?]
在com.blazemeter.jmeter.hls.logic.HlsSampler.sample(HlsSampler.java:237)~[jmeter-bzm-hls-2.0-SNAPSHOT.jar:?]
在org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)~[ApacheJMeter_http.jar:5.1.1 r1855137]
在org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)~[ApacheJMeter_core.jar:5.1.1 r1855137]
在org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)~[ApacheJMeter_core.jar:5.1.1 r1855137]
在org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)~[ApacheJMeter_core.jar:5.1.1 r1855137]
在org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)~[ApacheJMeter_core.jar:5.1.1 r1855137]
在java.lang.Thread.run(Thread.java:748)[?:1.8.0_211]
原因:java.lang.ClassNotFoundException:com.fasterxml.jackson.databind.cfg.MapperBuilder
在java.net.URLClassLoader.findClass(URLClassLoader.java:382)~[?:1.8.0_211]
在java.lang.ClassLoader.loadClass(ClassLoader.java:424)~[?:1.8.0_211]
在java.lang.ClassLoader.loadClass(ClassLoader.java:357)~[?:1.8.0_211]
... 9更多

我一直在添加库,因为ClassNotFoundException一直在“请求”,但我找不到要修复的库。

依赖jar不存在,这导致ClassNotFoundException。添加jackson数据绑定
https://github.com/FasterXML/jackson-databind
jar到jmeter外部lib
jmeter_HOME/lib/ext/
文件夹。

缺少的类来自jar

您应该将插件的从属jar放入(尽管插件jar本身位于lib/ext文件夹中)

JMeter会自动从以下目录中的JAR中查找类:

JMETER_HOME/lib 用于公用事业罐 JMETER_HOME/lib/ext 用于JMeter组件和插件

如果您已经开发了新的JMeter组件,那么您应该对它们进行jar,并将jar复制到JMeter的lib/ext目录中。JMeter将在这里找到的任何JAR中自动找到JMeter组件不要将lib/ext用于插件使用的实用jar或依赖jar


谢谢分享链接。Jackson databind的预发布让我很痛苦。现在它开始工作了。谢谢