J2SE 1.3 support

The objective of JDO is to support J2SE 1.3 (and higher) for runtime.

You need J2SE 1.4 to compile the sub-projects ri11 and tck11:
*Both ri11 and tck11 provide a helper class to configure standard J2SE 1.4 logging. This class does not compile with J2SE 1.3.
*The JDO specification calls for use of javax.transaction.Transaction. Both ri11 and tck11 need the JTA interfaces for compilation. In order to use the automatic dependency management as provided by maven we use the JTA interfaces as provided by geronimo (geronimo-spec:geronimo-spec-jta). The class files in this jar are compiled -target 1.4, so they cannot be used with a J2SE 1.3 compiler.

However, you can run the jars as created by the sub-projects api11, btree, ri11 and tck11 with a J2SE 1.3 runtime. For the btree sub-project we cannot use the latest version of the netbeans btree sources, because they make use of assert statements. This means you need to compile them with option -source 1.4 which implies -target 1.4 such that the generated code does not run with J2SE 1.3. We switched to btree sources from mid of September 2004 that do not use assert statements. The resulting btree jar runs with J2SE 1.3.

In order to run ri11 and tck11 with J2SE 1.3 you need to switch the JTA distribution and add a XML parser implementation:
*You can download the JTA distribution version 1.0.1B from http://java.sun.com/products/jta. Then change the value of property jta.jarfile in project.properties of ri11 and tck11 to refer to the downloaded jar:
jta.jarfile = ${basedir}/../lib/jta-1_0_1B-classes.zip
*The JDO model needs an XML parser to read the JDO metadata files. J2SE 1.4 includes an XML parser implementation, but J2SE 1.3 does not. You can download the Xerces-J release 1.4.4 from http://xml.apache.org/xerces-j. Then change the value of property xmlparser in project.properties of ri11 and tck11 to refer to the jar xerces.jar included the downloaded distribution:
xmlparser = ${basedir}/../lib/xerces.jar

The above property setting assume you placed the downloaded jars into a new directory called lib located parallel to ri11 and tck11.

  • No labels