Project

General

Profile

Download (4.04 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2
Information on Apache FOP dependencies
3
=========================================
4

    
5
$Id$
6

    
7
The Apache Licenses can also be found here:
8
http://www.apache.org/licenses/
9

    
10

    
11
Normal Dependencies
12
----------------------
13

    
14
- Apache Jakarta Commons IO
15

    
16
    commons-io-*.jar
17
    http://jakarta.apache.org/commons/io/
18
    (I/O routines)
19
    
20
    Apache License v2.0
21
    
22
- Apache Avalon Framework
23

    
24
    avalon-framework-*.jar
25
    http://excalibur.apache.org/framework/
26
    (Avalon Framework, maintained by the Apache Excalibur project)
27
    
28
    Apache License v2.0
29

    
30
- Apache Batik
31

    
32
    batik-*.jar
33
    http://xmlgraphics.apache.org/batik/
34
    (SVG Implementation)
35
    
36
    Apache License v2.0
37
    
38
    => removed 2020-08
39

    
40
- Apache XML Commons Externals (JAXP API)
41

    
42
    xml-apis.jar
43
    http://xml.apache.org/commons/components/external/
44
    (the JAXP API, plus SAX and various W3C DOM Java bindings,
45
    maintained in XML Commons Externals)
46
    
47
    Apache License v2.0 (applies to the distribution)
48
    SAX is in the public domain
49
        http://www.saxproject.org/copying.html
50
    W3C Software Notice and License (applies to the various DOM Java bindings)
51
    W3C Document License (applies to the DOM documentation)
52
        http://www.w3.org/Consortium/Legal/copyright-software
53
        http://www.w3.org/Consortium/Legal/copyright-documents
54
        http://www.w3.org/Consortium/Legal/
55

    
56
    Apache License v2.0 (applies to the distribution)
57
    W3C Software Notice and License (applies to the various DOM Java bindings)
58
    W3C Document License (applies to the DOM documentation)
59
        http://www.w3.org/Consortium/Legal/copyright-software
60
        http://www.w3.org/Consortium/Legal/copyright-documents
61
        http://www.w3.org/Consortium/Legal/
62

    
63
A note on JAXP
64
-----------------------
65

    
66
Since Java 1.4, JAXP (Java API for XML Processing) is part of the 
67
JRE/JDK. Every JVM includes the APIs and an implementation. However, 
68
older JREs often contain implementations with bugs that are triggered 
69
by code in Apache FOP and therefore need to be overridden. Now, since 
70
JAXP is part of the class library, special precautions are necessary 
71
to replace the original implementations. This is not done by simply 
72
adding new JARs to the classpath as these classes would never be 
73
loaded (due to Java's class loader hierarchy). 
74

    
75
Replacing the default implementations involves understanding the 
76
"Endorsed Standards Override Mechanism".
77
More information can be found here:
78
http://java.sun.com/j2se/1.4.2/docs/guide/standards/index.html
79

    
80
See also:
81
http://xml.apache.org/xalan-j/faq.html#faq-N100EF
82

    
83
Essentially, you have two different possibilities:
84
- add the replacement JARs in the jre/lib/endorsed directory of your JRE.
85
- Use the -Xbootclasspath/p: option when starting the JVM (may not be
86
  available for every JVM).
87

    
88

    
89
Optional Dependencies
90
------------------------
91

    
92
The following libraries are not bundled with FOP and must be installed manually.
93
Please make sure you've read the license of each package.
94

    
95
- JAI Image I/O Tools
96

    
97
    https://jai-imageio.dev.java.net/
98
    BSD license
99
    
100
    Note: This is not the same as JAI! Only the ImageIO-compatible codecs
101
    are packaged as "Image I/O Tools". The name may be misleading.
102

    
103
 - JAI (Java Advanced Imaging API) 
104

    
105
    http://java.sun.com/products/java-media/jai 	 
106
    Java Research License and Java Distribution License (Check which one applies to you!)
107
    
108
    Currently used for:
109
    - Grayscale error diffusion dithering in the PCL Renderer
110

    
111
- JEuclid (MathML implementation, for the MathML extension)
112

    
113
    http://jeuclid.sourceforge.net/
114
    http://sourceforge.net/projects/jeuclid
115
    Apache License v1.1
116

    
117

    
118

    
119
Additional development-time dependencies
120
-------------------------------------------
121

    
122
- Servlet API
123

    
124
    servlet-*.jar
125
    http://jakarta.apache.org/tomcat/
126
    (Servlet API, javax.servlet)
127
    
128
    Apache License v1.1
129

    
130
- Apache Ant
131

    
132
    (not bundled, requires pre-installation)
133
    http://ant.apache.org
134
    (XML-based build system
135
    
136
    Apache License V2.0
137

    
138
- JUnit
139

    
140
    (not bundled, provided by Apache Ant or your IDE)
141
    http://www.junit.org
142
    Common Public License V1.0
(3-3/5)