Project

General

Profile

Download (4.98 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 Jakarta Commons Logging
23

    
24
    commons-logging-*.jar
25
    http://jakarta.apache.org/commons/logging/
26
    (Logging adapter for various logging backends like JDK 1.4 logging or Log4J)
27
    
28
    Apache License v2.0
29

    
30
- Apache Avalon Framework
31

    
32
    avalon-framework-*.jar
33
    http://excalibur.apache.org/framework/
34
    (Avalon Framework, maintained by the Apache Excalibur project)
35
    
36
    Apache License v2.0
37

    
38
- Apache Batik
39

    
40
    batik-*.jar
41
    http://xmlgraphics.apache.org/batik/
42
    (SVG Implementation)
43
    
44
    Apache License v2.0
45
    
46
    => removed 2020-08
47

    
48
- Apache XML Commons Externals (JAXP API)
49

    
50
    xml-apis.jar
51
    http://xml.apache.org/commons/components/external/
52
    (the JAXP API, plus SAX and various W3C DOM Java bindings,
53
    maintained in XML Commons Externals)
54
    
55
    Apache License v2.0 (applies to the distribution)
56
    SAX is in the public domain
57
        http://www.saxproject.org/copying.html
58
    W3C Software Notice and License (applies to the various DOM Java bindings)
59
    W3C Document License (applies to the DOM documentation)
60
        http://www.w3.org/Consortium/Legal/copyright-software
61
        http://www.w3.org/Consortium/Legal/copyright-documents
62
        http://www.w3.org/Consortium/Legal/
63

    
64
    Apache License v2.0 (applies to the distribution)
65
    W3C Software Notice and License (applies to the various DOM Java bindings)
66
    W3C Document License (applies to the DOM documentation)
67
        http://www.w3.org/Consortium/Legal/copyright-software
68
        http://www.w3.org/Consortium/Legal/copyright-documents
69
        http://www.w3.org/Consortium/Legal/
70

    
71
- Apache Xalan-J
72

    
73
    xalan-*.jar and serializer-*.jar
74
    http://xalan.apache.org
75
    (JAXP-compliant XSLT and XPath implementation)
76
    
77
    Apache License v2.0 (applies to Xalan-J)
78
    Apache License v1.1 (applies to Apache BCEL and Apache REGEXP bundled in the JAR)
79
    Historical Permission Notice and Disclaimer (applies to CUP Parser Generator)
80
        http://www.opensource.org/licenses/historical.php
81
        (see xalan.runtime.LICENSE.txt)
82

    
83

    
84
Special Dependencies
85
-----------------------
86

    
87
- Apache Xerces-J
88

    
89
    xercesImpl-*.jar
90
    http://xerces.apache.org
91
    (JAXP-compliant XML parser and DOM Level 3 implementation)
92
    
93
    Apache License v2.0
94
    
95
    Xerces-J is not directly referenced by FOP or any of its dependencies.
96
    
97

    
98
A note on JAXP
99
-----------------------
100

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

    
110
Replacing the default implementations involves understanding the 
111
"Endorsed Standards Override Mechanism".
112
More information can be found here:
113
http://java.sun.com/j2se/1.4.2/docs/guide/standards/index.html
114

    
115
See also:
116
http://xml.apache.org/xalan-j/faq.html#faq-N100EF
117

    
118
Essentially, you have two different possibilities:
119
- add the replacement JARs in the jre/lib/endorsed directory of your JRE.
120
- Use the -Xbootclasspath/p: option when starting the JVM (may not be
121
  available for every JVM).
122

    
123

    
124
Optional Dependencies
125
------------------------
126

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

    
130
- JAI Image I/O Tools
131

    
132
    https://jai-imageio.dev.java.net/
133
    BSD license
134
    
135
    Note: This is not the same as JAI! Only the ImageIO-compatible codecs
136
    are packaged as "Image I/O Tools". The name may be misleading.
137

    
138
 - JAI (Java Advanced Imaging API) 
139

    
140
    http://java.sun.com/products/java-media/jai 	 
141
    Java Research License and Java Distribution License (Check which one applies to you!)
142
    
143
    Currently used for:
144
    - Grayscale error diffusion dithering in the PCL Renderer
145

    
146
- JEuclid (MathML implementation, for the MathML extension)
147

    
148
    http://jeuclid.sourceforge.net/
149
    http://sourceforge.net/projects/jeuclid
150
    Apache License v1.1
151

    
152

    
153

    
154
Additional development-time dependencies
155
-------------------------------------------
156

    
157
- Servlet API
158

    
159
    servlet-*.jar
160
    http://jakarta.apache.org/tomcat/
161
    (Servlet API, javax.servlet)
162
    
163
    Apache License v1.1
164

    
165
- Apache Ant
166

    
167
    (not bundled, requires pre-installation)
168
    http://ant.apache.org
169
    (XML-based build system
170
    
171
    Apache License V2.0
172

    
173
- JUnit
174

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