Bug 53860 - The pdf-transcoder jar created by fop 0.94 and later includes classes from commons and avalon
Summary: The pdf-transcoder jar created by fop 0.94 and later includes classes from co...
Status: RESOLVED WONTFIX
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: pdf (show other bugs)
Version: all
Hardware: All All
: P2 blocker
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-12 13:18 UTC by David Graff
Modified: 2012-10-08 13:42 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Graff 2012-09-12 13:18:40 UTC
The build for apache FOP produces a jar which includes partial subsets of classes from commons-io, commons-logging, and avalon.

By doing this, it will potentially destabilize applications that are dependent on these libraries.

Many web-application containers do not specifically enforce load order of jars and as a result if the pdf-transcoder.jar from 0.94 (and whatever it is in later releases) is loaded before the proper commons-io, commons-logging etc jar files it will cause signature errors and other runtime errors to occur.

I discovered this while using the Eclipse BIRT Report Engine in a non-osgi fashion within a web application.  My application logic utilizes a much newer version of commons-io.

Please remove the "import" or "merging" of these class file subsets from the build process and add a dependency on the full jars in question.
Comment 1 Mehdi Houshmand 2012-09-24 10:48:39 UTC
I think the reason these classes have been put in there is to allow the transcoder JAR to be used as a stand-alone JAR. I could be wrong, but I don't think the intention was for users to include it in the class path.

There are two JARs one with just the FOP specific classes and an all-in-one version. Which one are you using?
Comment 2 David Graff 2012-10-05 15:07:57 UTC
I think that this might not be a bug with FOP but with Eclipse BIRT.  I'll have to circle with them and determine why the jar is included in the dependencies of BIRT.  As it stands right now, there is a collision that is causing problems when BIRT is deployed in a webapp using the maven dependencies for 3.7.2 (I think) and I have to recheck the versions.

At this time, close this as won't fix.  If I can determine the issue on the BIRT or possibly Batik side (which is also depended on by BIRT) I'll open a bug where appropriate.
Comment 3 Chris Bowditch 2012-10-08 13:42:35 UTC
Thanks David. I'm closing the bug as requested.