carmel cohen wrote:
Hi,
I am trying to write an ant task that uses xml-apis.jar.
My problem is that i want to be able to define what version of
xml-apis.jaris used.
The jar is located both under %ANT_HOME%/lib (and the eclipse's ant lib if
the ant is run from eclipse) and both in my project dir, under a library
called "bin".
so some classes (e.g. org.w3c.dom.Document, also found in the JRE lib-
rt.jar) may appear in more then one location.
The problem is that when i define a task as follows:
*<path id="fileHandler.classpath">
<pathelement location="./bin/fileHandler.jar"/>
<pathelement location="./bin/xalan.jar"/>
<pathelement location="./bin/xercesImpl.jar"/>
<pathelement location="./bin/xml-apis.jar"/>
</path>
<taskdef name="fileHandlerTask"
classname="com.impl**.ant.antTasks.PropertyFileHandlerTask"
classpathref="fileHandler.classpath"/>*
**
Then during run time (I am trying to run it both from eclipse and command
line) I am getting NoSuchMethodException due to the fact that the method *
getInputEncoding* defined in Document was only added at xerces v 2.7, and
the Document defined in the JRE lib and under
%ANT_HOME%/lib/xml-apis.jar do
not define this method.
My question is whether I can define the order of the jars in the classpath
so that I will be able to make sure that the Classes that are defined in
the
*fileHandler.classpath *path will precede the classes defined in the other
locations.
Updating the jar at %ANT_HOME%/lib/ is not an option because I want to be
able to run this script from more then one location, so I want to find a
solution that does not require any modifications in the machine that I am
using .
XML parser handling is wierd; even having the new xalan/xerces on the
tasks classpath isnt going to make it the default XML parser. Its not
just a matter of the wrong api being picked up; ant -diagnostics will
show you which xml parser is being created.
You will need to upgrade ant's libraries. Ant1.7.1 will ship with xerces
2.7.0, incidentally.
-steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]