I suppose that you use Java 8 and Jetty to provide HTTP/2 impl.
You need to add in the boot classpath the ALPN impl.
java -Xbootclasspath/p:<path_to_alpn_boot_jar>
Reference:
https://www.eclipse.org/jetty/documentation/9.3.x/alpn-chapter.html
On 12/05/2018 16:08, Yasara Sewwandi wrote:
Hi all,
I am developing a HTTP2 sampler plugin for JMeter. When I run it in JMeter
for testing I get the following error. Can someone help me to solve the
error?
Thank you.
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError:
org/eclipse/jetty/alpn/ALPN$ClientProvider
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:123)
at sampler.HTTP2Connection.connect(HTTP2Connection.java:83)
at sampler.HTTP2Request.setConnection(HTTP2Request.java:306)
at sampler.HTTP2Request.sample(HTTP2Request.java:97)
at sampler.HTTP2Request.sample(HTTP2Request.java:89)
at sampler.HTTP2Request.sample(HTTP2Request.java:1)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(
JMeterThread.java:498)
at org.apache.jmeter.threads.JMeterThread.processSampler(
JMeterThread.java:424)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/ALPN$
ClientProvider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.
newConnection(ALPNClientConnectionFactory.java:51)
at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.
newConnection(SslClientConnectionFactory.java:69)
at org.eclipse.jetty.http2.client.HTTP2Client.lambda$
doStart$1(HTTP2Client.java:158)
at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.
newConnection(HTTP2Client.java:399)
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(
ManagedSelector.java:488)
at org.eclipse.jetty.io.ManagedSelector.access$1700(
ManagedSelector.java:60)
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(
ManagedSelector.java:667)
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(
Invocable.java:122)
at org.eclipse.jetty.util.thread.strategy.
ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
produceConsume(ExecuteProduceConsume.java:201)
at org.eclipse.jetty.util.thread.strategy.
ExecuteProduceConsume.produce(ExecuteProduceConsume.java:97)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
QueuedThreadPool.java:672)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
QueuedThreadPool.java:590)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.alpn.ALPN$
ClientProvider
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 25 more
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError:
org/eclipse/jetty/alpn/client/ALPNClientConnection
at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:123)
at sampler.HTTP2Connection.connect(HTTP2Connection.java:83)
at sampler.HTTP2Request.setConnection(HTTP2Request.java:306)
at sampler.HTTP2Request.sample(HTTP2Request.java:97)
at sampler.HTTP2Request.sample(HTTP2Request.java:89)
at sampler.HTTP2Request.sample(HTTP2Request.java:1)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(
JMeterThread.java:498)
at org.apache.jmeter.threads.JMeterThread.processSampler(
JMeterThread.java:424)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/alpn/client/
ALPNClientConnection
at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.
newConnection(ALPNClientConnectionFactory.java:51)
at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.
newConnection(SslClientConnectionFactory.java:69)
at org.eclipse.jetty.http2.client.HTTP2Client.lambda$
doStart$1(HTTP2Client.java:158)
at org.eclipse.jetty.http2.client.HTTP2Client$ClientSelectorManager.
newConnection(HTTP2Client.java:399)
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(
ManagedSelector.java:488)
at org.eclipse.jetty.io.ManagedSelector.access$1700(
ManagedSelector.java:60)
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(
ManagedSelector.java:667)
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(
Invocable.java:122)
at org.eclipse.jetty.util.thread.strategy.
ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.
produceConsume(ExecuteProduceConsume.java:201)
at org.eclipse.jetty.util.thread.strategy.
ExecuteProduceConsume.produce(ExecuteProduceConsume.java:97)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
QueuedThreadPool.java:672)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
QueuedThreadPool.java:590)
... 1 more