db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: Compile failing: can't find org.apache.xpath.*
Date Sat, 09 Jun 2007 15:31:17 GMT
David Van Couvering <david@vancouvering.com> writes:

> I'm a little stumped.  All of a sudden my build started failing
> compile_iapi_error_jsr169:
> compile_reference:
> Compiling 4 source files to /Users/David/code/derby/trunk/classes
> /Users/David/code/derby/trunk/java/engine/org/apache/derby/iapi/types/SqlXmlUtil.java:60:
> package org.apache.xpath does not exist
> I am not sure if this is relevant, but I have this in my ant.properties:
> j14lib=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes
> Notice I am pointing j14lib to a 1. 5 location.

I'm not sure if that's what causing it, but in Sun Java SE 5.0, many XML
related classes were moved from the org.apache package hierarchy into
com.sun.org.apache to avoid conflicts with jar files installed by
users. Perhaps it would work if you downloaded the jar files from
http://xalan.apache.org and included them in j14lib.

> This is because there is no mechanism that I can see in Derby to build
> with 1.5.  The problem is, on a Mac, there *is* no 1.6 JDK.  It's
> either 1.4 or 1.6.
> Regardless if this is the cause of my problems, Is there a correct way
> to build with a 1.5 compiler?  If not, how would I go about adding
> this?

I don't think there is a correct way currently. Some of the code (two
classes in the lock manager) is compiled for 1.5 with the 1.6 compiler
if it's available, but that won't work if there's no 1.6 JDK for the
platform. You could perhaps try the same approach as we currently use
for 1.6 and create build targets that only run if the jdk15 property is
set. That is, the build targets would have to look for the compiler in
${jdk15}/bin/javac and have an attribute if="jdk15" to prevent them from
running if the jdk15 variable isn't defined, and fork="yes".

Alternatively, if we're ready to add Java 1.5 as a requirement for
building Derby, we could have a j15lib variable and non-optional,
non-forking build targets similar to the ones we have for Java 1.4 and
had for Java 1.3.

Knut Anders

View raw message