Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.3
-
None
-
MAC OS/X Tomcat 8.0.14
-
Unknown
Description
I just upgraded to version 3.0.3 and I have a number of JUnit tests that act as clients to a service built with CXF. The clients use CXF as well. With 3.0.3 the JUnit tests are all generating the stack trace below.
junit.framework.AssertionFailedError: Exception in constructor: testQualifyRest (java.lang.RuntimeException: org.apache.cxf.bus.extension.ExtensionException: Could not create object of extension class org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory.
at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWithValues(JAXRSClientFactoryBean.java:341)
at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.create(JAXRSClientFactoryBean.java:264)
at com.a100sys.utils.JacksonClientHelper.createJacksonJSONService(JacksonClientHelper.java:429)
at com.a100sys.utils.QuestionMapper.getQuestionService(QuestionMapper.java:339)
at com.a100sys.utils.QuestionMapper.findQuestionOptions(QuestionMapper.java:279)
at com.a100sys.utils.QuestionMapper.<init>(QuestionMapper.java:247)
at com.a100sys.utils.QuestionMapper.getInstance(QuestionMapper.java:269)
at com.a100sys.affiliateportal.TestQualify.<init>(TestQualify.java:37)
at com.a100sys.affiliateportal.rest.TestQualifyRestJSON.<init>(TestQualifyRestJSON.java:14)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at junit.framework.TestSuite.createTest(TestSuite.java:63)
at junit.framework.TestSuite.addTestMethod(TestSuite.java:310)
at junit.framework.TestSuite.addTestsFromTestCase(TestSuite.java:153)
at junit.framework.TestSuite.<init>(TestSuite.java:132)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.cxf.bus.extension.ExtensionException: Could not create object of extension class org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory.
at org.apache.cxf.bus.extension.Extension.load(Extension.java:260)
at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:213)
at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadBeansOfType(ExtensionManagerImpl.java:368)
at org.apache.cxf.transport.TransportFinder.loadAll(TransportFinder.java:138)
at org.apache.cxf.transport.TransportFinder.findTransportForURI(TransportFinder.java:84)
at org.apache.cxf.bus.managers.DestinationFactoryManagerImpl.getDestinationFactoryForUri(DestinationFactoryManagerImpl.java:128)
at org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.createEndpointInfo(AbstractJAXRSFactoryBean.java:131)
at org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.createEndpoint(AbstractJAXRSFactoryBean.java:219)
at org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.createWithValues(JAXRSClientFactoryBean.java:291)
... 22 more
Caused by: java.lang.NoClassDefFoundError: io/netty/util/Version
at org.apache.cxf.transport.http.netty.server.NettyHttpDestinationFactory.<init>(NettyHttpDestinationFactory.java:36)
at org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory.<init>(NettyHttpTransportFactory.java:55)
at org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory.<init>(NettyHttpTransportFactory.java:58)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.apache.cxf.bus.extension.Extension.load(Extension.java:249)
... 30 more
Caused by: java.lang.ClassNotFoundException: io.netty.util.Version
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 38 more
)
I downloaded a copy of netty and added the jar to the class path and the test then work fine.