Øystein Grøvlen <[EMAIL PROTECTED]> writes: > With the help of John's excellent writeup at > http://wiki.apache.org/db-derby/BuildingDerby?highlight=%28Netbeans%29#head-681537d04a4de5433e397238dd9bf22eaf8611cb > I fixed this by setting > > ant.library.dir=<path> > > as described on the wiki. The way you enter this differs a bit in > Netbeans 6, but it is still easy to figure out how to set it if you > follow the description.
I think there are actually two aspects to the ant libraries: This particular setting compensates for the fact that ant, when not invoked via the ant(1) script, but programmatically, as does Netbeans, does not set ant.library.dir, so compilation of Derby would fail. In addition, Netbeans 6 tries to compile the sources on its own (not via the supplied ant file). This, I think, is due to the new integration between Netbeans and javac to allow Netbeans better access to semantic information. The above setting is not sufficient: I found I had to add the path of ant.jar to the libraries setting of the project as well (in "Java Sources classpath"). After I added the path there, the little read flags went away in the source on those lines where the ant libraries are imported. (Of course, other libraries are needed here, too, cf. those found under tools/java/ and mentioned in BUILD.txt). Another annoyance: Derby has a mix of source levels in the code base; Netbeans only allows a global setting: when extracting semantic information via javac Netbeans marks some 1.4 level source as erroneous if my general source level is 1.5 (needed to allow generics found in some parts of the code base), the error being not implemented methods in concrete JDBC classes. I'd love to be able to set source level per file to work around that. But Netbeans would also need to allow a mix of platforms to find the correct JDBC interface being implemenented, marking source level to 1.4 would not be enough; Netbeans would need access to a 1.4 JDK as well to handle it, sigh. Dag
