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

Reply via email to