JAR files included in the product
The full list of JAR files in the Saxon distribution is as follows. Here "10.#" means "10.0", "10.1", "10.2", etc. depending on the maintenance release.
JAR file |
Size (approx) |
Contents |
Included in Editions |
saxon-he-10.#.jar |
5.4Mb |
Saxon Home Edition. Contains all the software in Saxon-HE, except as noted below. |
HE |
saxon-pe-10.#.jar |
6Mb |
Saxon Professional Edition. Contains all the software in Saxon-PE, except as noted below. |
PE |
saxon-ee-10.#.jar |
8.3Mb |
Saxon Enterprise Edition. Contains all the software in Saxon-EE, except as noted below. |
EE |
icu4j-59_1.jar |
11.9Mb |
A copy of the open source ICU-J localization library, used to support sorting and date/number formatting in a wide variety of languages. If this JAR file is not present on the classpath, this will restrict the collations and localization options available to those that are found in the Java runtime. It should be possible to replace this JAR with a later version downloaded from the ICU project. (Previous Saxon releases used a tailored version of this JAR file. With experience, we found that this added complexity and delivered no tangible benefits.) |
PE, EE |
saxon-xqj-10.#.jar |
100Kb |
Support for the XQJ (XQuery for Java) API. Provided as a separate JAR file in Saxon-HE so that it can be excluded from distributions that require pure OSI-approved open source licensing. The code is included as an integral part of Saxon-PE and Saxon-EE, so no separate JAR file is required in those cases. |
HE |
saxon-sql-10.#.jar |
61Kb |
Supports XSLT and XPath extensions for accessing and updating a relational database from within a stylesheet or query. Provided with Saxon-PE and Saxon-EE. The source code is open source so that it can be modified, but it requires support for element extensibility, which requires Saxon-PE or higher. |
PE, EE |
saxon-he-test-10.#.jar |
127Kb |
Test drivers for running the W3C test suites for XSLT and XQuery against
Saxon-HE. The test drivers are
published as open source code in the |
HE |
saxon-pe-test-10.#.jar |
176Kb |
Test drivers for running the W3C test suites for XSLT and XQuery
against Saxon-PE. The test suites themselves are on GitHub: repositories
|
PE |
saxon-ee-test-10.#.jar |
215Kb |
Test drivers for running the W3C test suites for XSLT, XQuery, and XSD
against Saxon-EE. The test suites themselves are on GitHub: repositories
|
EE |
jline-2.14.6.jar |
205Kb |
JLine 2: an open source library supporting interactive command-line applications, including content completion and command history. This is used by the Gizmo utility, and must be on the classpath when Gizmo is run (it is not needed otherwise). |
HE, PE, EE |
When running any Java application, Saxon included, all Java classes that are needed must
be present on the CLASSPATH. The classpath can be set in the form of an environment
variable, or it can be included in the java
command that invokes the
application.
The classpath is written as a list of filenames. These will either be the names of directories (folders) that contain relevant classes, or the names of JAR files containing the classes. On Windows, the names in the list are separated by semicolons; on Linux and macOS, a colon is used.
The table above lists the JAR files provided with Saxon that you may need to include on your classpath. In addition, you may need to include the following resource:
Resource |
Description |
saxon-license.lic |
License file. This is needed only for running Saxon-EE/Saxon-PE. The license
file is obtained when you purchase the product or when you apply for an
evaluation license. If the license file is placed in the same directory
as the |
Verifying the Saxon JAR files
Before releasing new versions of the Saxon JAR files, Saxonica signs them with a digital signature which you can use to verify that the files have not been tampered with. The signatures are based on a digital certificate issued to Saxonica by the security company GlobalSign.
You can verify that a particular JAR file (for example saxon-ee-10.0.jar
) has a valid signature using the command:
More usefully, you can check that it was signed by Saxonica with the command:
jarsigner -verify -verbose saxon-ee-10.0.jarThis produces voluminous information about the contents of the JAR file, ending with details of the security certificate, something like this:
- Signed by "EMAILADDRESS=mike@saxonica.com, CN=Saxonica Limited, O=Saxonica Limited, L=Reading, ST=Berkshire, C=GB" Digest algorithm: SHA-256 Signature algorithm: SHA256withRSA, 2048-bit key Timestamped by "CN=GlobalSign TSA for Advanced - G3 - 003-01, O=GMO GlobalSign K.K., C=JP" on Thu Sep 27 16:58:22 UTC 2018 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit keyThe details will vary from release to release, but will always identify Saxonica as the originator, and give the date on which the JAR file was built prior to release.
Saxonica signs both the open-source and commercial JAR files. The signature does not prevent the JAR file being unpacked and modified, but it means that you can always distinguish a modified JAR file from the original.