On Mon, Mar 05, 2007 at 10:13:42PM +0000, Paul Cager wrote: > EspeonEefi wrote: > > reopen 353586 > > severity 353586 minor > > thanks > > > > I can reproduce this error using the attached very simple build.xml and > > HelloWorld java program. Indeed, ant by default still automatically > > adds /usr/share/ant/lib/ant-bootstrap.jar to the classpath. Note, though > > that the warning occurs only when the -Xlint compilerarg is passed to > > javac, and the warnings don't make anything fail, so I've downgraded the > > severity of this bug to minor. > > > > Just as a refresher, the output that ant build gives is > > > > ======================================================================== > > Buildfile: build.xml > > > > build: > > [javac] Compiling 1 source file > > [javac] warning: [path] bad path element > > "/usr/share/ant/lib/xml-apis.jar": no such file or directory > > [javac] warning: [path] bad path element > > "/usr/share/ant/lib/xercesImpl.jar": no such file or directory > > [javac] warning: [path] bad path element > > "/usr/share/ant/lib/xalan.jar": no such file or directory > > [javac] 3 warnings > > > > BUILD SUCCESSFUL > > Total time: 2 seconds > > ======================================================================== > > > > Some Googling turns up that the above warnings may be a result of > > extraneous things in the Class-Path attribute in the > > META-INF/MANIFEST.MF file of a JAR. Indeed, when I > > unjar /usr/share/ant/lib/ant-bootstrap.jar, I find in > > META-INF/MANIFEST.MF the line > > > > Class-Path: ant.jar xml-apis.jar xercesImpl.jar xalan.jar > > > > Now, according to the documentation for the JAR file format [1], the > > Class-Path attribute "specifies the relative URLs of the extensions or > > libraries that this application or extension needs." This is why javac > > is looking for xml-apis.jar, xercesImpl.jar, and xalan.jar > > in /usr/share/ant/lib/ (the same directory as ant-bootstrap.jar) and not > > in /usr/share/java/, where at least xercesImpl.jar lives. (Given that > > ant now uses Xerces and not Xalan, it's interesting that xml-apis.jar > > and xalan.jar still show up in this Class-Path line.) > > > > [1] http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#Main%20Attributes > > > > Thus, this is indeed a bug in ant that the Class-Path attribute in > > MANIFEST.MF in ant-bootstrap.jar is referencing non-existent jars. > > > > > > ------------------------------------------------------------------------ > > > > public class HelloWorld { > > public static void main(String[] args) { > > System.out.println("Hello, world!"); > > } > > } > > Thank you for investigating this further. Yes, you are quite right - > bootstrap.jar is in /usr/share/ant/lib/ and *will* be included in the > class path. > > Looking at the Apache binary download (of 1.7), I see that the bootstrap > Jar is normally in the "etc" directory, and the Debian packaging moves > it to /usr/share/ant/lib/. I am not sure this is the correct place for > the bootstrap Jar to live (but I agree that "etc" isn't the correct > place either). In fact, do we need to deliver it at all in the binary > deb package? > > Maybe this bug can be fixed when the next upstream version is packaged?
This can be fixed easily now. I checked for the explicite usage of ant-bootstrap.jar and it seems to be not used. I looked at all obvious places. The only class in ant-bootstrap.jar is also in ant.jar (same bytesize). I think its safe now to move that jar. Cheers Michael _______________________________________________ pkg-java-maintainers mailing list pkg-java-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-java-maintainers