ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jon Svede <>
Subject Re: How to reference <path> elements in custom task
Date Mon, 14 Mar 2011 17:56:47 GMT

Thanks for the reply.

So originally I had my tasks working by defining a <path> entry that included my 
tasks and their dependencies. This worked fine without me having to do anything 
other than define <taskdef> entries in my build file.

Then I was asked to make it so that my tasks could be put into the $ANT_HOME/lib 
dir but be able to define the dependencies in the build.xml.  This did not work. 
My tasks would be found, but the dependencies were not. I am guessing it's 
parentage thing: my classes are higher in the classloader parentage than it's 
dependencies.  I then tested this by adding all the classes my tasks depend on 
to my jar file in the $ANT_HOME/lib - that worked too, but it failed when I 
added classes that implement my interfaces.  In this case,  I think it is again 
some sort of parentage issue.

My specific use case is as follows:

I have a set of ant tasks that depend on Apache POI for spreadsheet testing.  I 
do not want to package the POI classes into my jar.  Secondarily, my jar file of 
tasks defines an interface for users to implement; those implementations can be 
given to my ant tasks for execution.

I thought, perhaps incorrectly, that if my tasks could access the path element 
and then "inject" those references into the execution environment I'd be able to 
move forward.  Am I mistaken?

Most of what I found either didn't apply or I didn't understand.  What I did 
find outside of that didn't seem to help.  I found a reference to a Classloader 
task written by Peter Reilly but this is again an external task. I have been 
under the assumption that I would be able to resolve my issue with the core ant 
tasks rather than requiring additional non-core jars.

Does that give you more insight into my problem?  It's entirely possible that 
what I want to do isn't feasible but that is what I am basically asking: can I 
do this as I've described or is there another, more preferable way to accomplish 



From: wolfgang haefelinger <>
To: Ant Users List <>
Sent: Mon, March 14, 2011 11:21:57 AM
Subject: Re: How to reference <path> elements in custom task


>    <someCustomTask classpathref="some.path"/>

This attribute of yours, "classpathref" is not a standard attribute:

> I've been searching for examples or forum posts related to this but everything
> I've found  isn't working.

How about sharing what you've found and what exactly is not working?

// Wolfgang

On Mon, Mar 14, 2011 at 5:50 PM, Jon Svede <> wrote:
> Hi,
> I have a set of custom tasks that need to be able to load  dependencies from
> <path> element. In my case my tasks may be  defined in <taskdef> declarations

> via adding the jar file to  the $ANT_HOME/lib dir.
> This is what I want to have in the build.xml file:
> <path name="some.path">
>    <pathelement location="some/local/dir/my.jar"/>
> </path>
> <target name="mytarget">
>    <someCustomTask classpathref="some.path"/>
> </target>
> In this example the task someCustomTask needs to be able to have classes from
> the path 'some.path' to be able to execute.
> I've been searching for examples or forum posts related to this but everything
> I've found  isn't working.  Does anyone have a good explanation of this is 
> or are there some docs on this?
> Thanks in advance,
> Jon

Wolfgang Häfelinger
häfelinger IT - Applied Software Architecture
+31 648 27 61 59

To unsubscribe, e-mail:
For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message