nightcode/jmilter

Exception: java.lang.NoClassDefFoundError: io/netty/channel/ChannelFutureListener

Closed this issue · 4 comments

I am trying to use jmilter by following the code shared in the test folder. However, I am getting following exception:
java.lang.NoClassDefFoundError: io/netty/channel/ChannelFutureListener
at java.lang.ClassLoader.defineClass1 (Native Method)
at java.lang.ClassLoader.defineClass (ClassLoader.java:1013)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:150)
at java.net.URLClassLoader.defineClass (URLClassLoader.java:524)
at java.net.URLClassLoader$1.run (URLClassLoader.java:427)
at java.net.URLClassLoader$1.run (URLClassLoader.java:421)
at java.security.AccessController.doPrivileged (AccessController.java:712)
at java.net.URLClassLoader.findClass (URLClassLoader.java:420)
at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
at java.lang.ClassLoader.loadClass (ClassLoader.java:521)
at com.skurelabs.main.SprucexMainExecutor.main (SprucexMainExecutor.java:50)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:254)
at java.lang.Thread.run (Thread.java:833)
Caused by: java.lang.ClassNotFoundException: io.netty.channel.ChannelFutureListener
at java.net.URLClassLoader.findClass (URLClassLoader.java:445)
at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
at java.lang.ClassLoader.loadClass (ClassLoader.java:521)
at java.lang.ClassLoader.defineClass1 (Native Method)
at java.lang.ClassLoader.defineClass (ClassLoader.java:1013)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:150)
at java.net.URLClassLoader.defineClass (URLClassLoader.java:524)
at java.net.URLClassLoader$1.run (URLClassLoader.java:427)
at java.net.URLClassLoader$1.run (URLClassLoader.java:421)
at java.security.AccessController.doPrivileged (AccessController.java:712)
at java.net.URLClassLoader.findClass (URLClassLoader.java:420)
at java.lang.ClassLoader.loadClass (ClassLoader.java:588)

You should add following Netty libraries (version 4.1.78.Final) to your project:

  • netty-buffer
  • netty-codec
  • netty-common
  • netty-handler
  • netty-resolver
  • netty-transport

I tried all, but still getting same error. The error occurs when I create MilterGatewayManager instance

gatewayManager = new MilterGatewayManager(address, milterHandler, ServiceManager.instance());

You should re-check your classpath. If you can provide a link to your test repository, it might speed up the process of solving your problem.

Its fixed, I realized that mvn dependency scope was provided. I removed the scope and it could able to find the jar during run time