This problem occur when you compiling against one set of jars and running with a different set of jars, or that you have multiple versions of some jar being loaded in your application.
Thanks Malli -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 10:36 AM To: [EMAIL PROTECTED] Subject: Newbie - IncompatibleClassChangeError Hi, I'm new to Cactus. Looks like a good product, btw. I'm using: Tomcat 4.1 JDK1.4.1 Windows2000 I followed the instructions from http://jakarta.apache.org/cactus/integration/howto_tomcat.html. When I invoke http://localhost:8080/test/ServletTestRunner?suite=TestSampleServlet, I get the following: <testsuites> -<testsuite name="TestSampleServlet" tests="1" failures="0" errors="1" time="0"> -<testcase name="testSaveToSessionOK" time="0"> -<error message="null" type="java.lang.IncompatibleClassChangeError"> java.lang.IncompatibleClassChangeError at TestSampleServlet.beginSaveToSessionOK(TestSampleServlet.java:22) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at org.apache.cactus.internal.client.ClientTestCaseCaller.callGenericBeginMetho d(ClientTestCaseCaller.java:358) at org.apache.cactus.internal.client.ClientTestCaseCaller.callBeginMethod_aroun dBody0(ClientTestCaseCaller.java:192) at org.apache.cactus.internal.client.ClientTestCaseCaller.callBeginMethod_aroun dBody1$advice(ClientTestCaseCaller.java:124) at org.apache.cactus.internal.client.ClientTestCaseCaller.callBeginMethod(Clien tTestCaseCaller.java) at org.apache.cactus.internal.client.ClientTestCaseCaller.runTest(ClientTestCas eCaller.java:141) at org.apache.cactus.internal.AbstractCactusTestCase.runBareClient(AbstractCact usTestCase.java:215) at org.apache.cactus.internal.AbstractCactusTestCase.runBare(AbstractCactusTest Case.java:133) at org.apache.cactus.server.runner.ServletTestRunner.run(ServletTestRunner.java :315) at org.apache.cactus.server.runner.ServletTestRunner.doGet_aroundBody0(ServletT estRunner.java:193) at org.apache.cactus.server.runner.ServletTestRunner.doGet_aroundBody1$advice(S ervletTestRunner.java:124) at org.apache.cactus.server.runner.ServletTestRunner.doGet(ServletTestRunner.ja va) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne ction(Http11Protocol.java:380) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable. run(ThreadPool.java:533) at java.lang.Thread.run(Thread.java:536) </error> </testcase> </testsuite> </testsuites> The instructions didn't say anything about the web.xml that sits underneath /webapps/test/WEB-INF. My web.xml has this: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> </web-app> Any ideas of what I may have missed? Thanks, Kevin
