On 24.07.2010 01:13:01 Bernard Giannetti wrote:
> 
> Hi,
> 
> I've noticed there's a lot of 3rd party JAR files bundled with FOP 1.0, 
> notably:
> 
> avalon-framework-4.2.0.jar
> batik-all-1.7.jar
> commons-io-1.3.1.jar
> commons-logging-1.0.4.jar
> serializer-2.7.0.jar
> xalan-2.7.0.jar
> xercesImpl-2.7.1.jar
> xml-apis-1.3.04.jar
> xml-apis-ext-1.3.04.jar
> xmlgraphics-commons-1.3.1.jar
> 
> and was wondering how many do I actually need?  If "all I'm doing" is
> using FOP to render an XML file using XSL template to a PDF, is there a
> way to trim out the unwanted JARs?

Batik is supposed to be optional but I'm not sure that it'll work
properly without it. If you're not using SVG, try to omit it. If it
works, you're fine. xml-apis-ext should be optional, too, if Batik is
out of the picture. Xerces, Xalan, Serializer and xml-apis are not
strictly required but some JDKs have buggy XML parsers or XSLT
implementations so I always use my own verified JARs. The other JARs are
mandatory.

> I can do a clean compile of my application, minus the JARs above listed
> in the classpath.  If I can the run my application and exercise the FOP
> part of it, does that tell me which JARs I can drop or am I being too
> naive?

In the end, just omit one of the ones I've listed and check if it works
without. Trial & Error. ;-) If you get a ClassDefNotFoundError, you're
missing a JAR.

> On a somewhat related note, in doing an ANT build and setting the compiler 
> args as follows:
> 
> <compilerarg value="-Xlint:deprecation,fallthrough,finally,path,unchecked" />
> 
> I get a few path warnings:
> 
>     [javac] warning: [path] bad path element "/lib/fop-hyph.jar": no such 
> file or directory
>     [javac] warning: [path] bad path element "/lib/xml-apis.jar": no such 
> file or directory
>     [javac] warning: [path] bad path element "/lib/xercesImpl.jar": no such 
> file or directory
>     [javac] warning: [path] bad path element "/lib/serializer.jar": no such 
> file or directory
>     [javac] warning: [path] bad path element "/lib/log4j.jar": no such file 
> or directory
> 
> So are these old manifest entries that have not been updated to the new 
> versions?  Can I safely remove these from the mainfests in the FOP JAR files?

These were used solely for running FOP from the command-line. The
classpath there is outdated and can be removed. Basically, we should
remove it from FOP altogether, I think, since practically everyone uses
our batch scripts if they run FOP from the command-line. Plus there is
code in FOP, that constructs the classpath in code, rather than from the
Manifest.

> 
> Thanks,
> 
> Bernard.


Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org

Reply via email to