Thanks Jeremias for answering.

Yes I use the FOPServlet from the distribution (the WAR file in the example

I have experimented a bit more by installing fop 0.20.4 on another machine:
I am getting the same error message.
On both machines, I never had any other version of fop.  
I have tripled checked that I have the right libraries in the web-inf\lib

I don't know where the dependency on org/apache/log/Hierarchy comes from.
Could it be that the WAR file does not contain the correct servlet?

Thanks, Thierry

-----Original Message-----
From: Jeremias Maerki [mailto:[EMAIL PROTECTED]
Sent: Saturday, November 23, 2002 7:32 AM
Subject: Re: Which logging library is needed to run fop 0.20.4 servlets

Logging has changed from 0.20.3 to 0.20.4. We were able to eliminate the
need for logkit. Instead we use the logger interface from Avalon which
also has a ConsoleLogger which became our new standard logger. I don't
know if you really use the FOPServlet from the distribution, but if you
do, you should also update the servlet when you upgrade FOP (because the
logging has changed). Probably you have the old servlet that still wants
to use a LogKit logger. Look in the contrib/servlet directory in the

The libs you need to run the FOP Servlet are: fop.jar, batik.jar,
avalon-framework*.jar. logkit.jar is not needed anymore.

Look here for details about logging in 0.20.4:

I hope this helps.

On 22.11.2002 22:35:57 Ciot, Thierry wrote:
> I have searched the FAQ and the mail archive but could not find anything
> useful.  
> Thanks in advance for answering this question.
> I am using fop 0.20.4 (fop-0.20.4rc).  I cannot use fop within a servlet.
> I have tested with both tomcat 3.3.1 and Tomcat 4.
> I get the following error message java.lang.NoClassDefFoundError:
> org/apache/log/Hierarchy
> It turns out that the avalon jar file shipped with fop does not contain
> class.
> I have tracked down Hierarchy to belong to the logkit project.  I
> logkit 1.1 and put the jar file in the lib directory.  Now I can proceed
> further but it still fails when trying to renderFO with the following
> message:
> Location: /fop/servlet/fop Internal Servlet
> Error:java.lang.NoSuchMethodError:
> org.apache.fop.apps.Driver.setLogger(Lorg/apache/log/Logger;)V

The method now has the following signature:

That's the reason for the NoSuchMethodError.

> This is probably because the setLogger requires a different method
> parameter.
> What lib do I need to run a fop servlet?
> Thierry.
> Location: /fop/servlet/fop
> Internal Servlet Error:
> java.lang.NoClassDefFoundError: org/apache/log/Hierarchy
>       at FopServlet.doGet(
>       at javax.servlet.http.HttpServlet.service(
>       at javax.servlet.http.HttpServlet.service(
> Location: /fop/servlet/fopInternal Servlet
> Error:java.lang.NoSuchMethodError:
> org.apache.fop.apps.Driver.setLogger(Lorg/apache/log/Logger;)V
>       at FopServlet.renderFO(
>       at FopServlet.doGet(
>       at javax.servlet.http.HttpServlet.service(


Jeremias Maerki

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

The contents of this e-mail are intended for the named addressee only. It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or disclose
it to anyone else. If you received it in error please notify us immediately
and then destroy it. 

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to