Java Mailing List Archive

http://www.ant-tasks.com/

Apache Ant Archive

» Ant Users List
» Ant Developers List
Ant 1.7.0 specific error: failed to create task or type taskdef

Ant 1.7.0 specific error: failed to create task or type taskdef

2007-05-30       - By ryan@(protected)

Hey Folks,

We recently upgraded from Ant 1.6.5 to Ant 1.7.0.  We noticed that code in our
build listener that functioned properly in Ant 1.5.x through Ant 1.6.5 no
longer works with 1.7.  The code basically adds some targets to a top level
build file so if users invoke ant in a sub-directory with no build file, or
there is a build file without the specified target, then the listener invokes
the target added to the top level build file.  The code looks something like
this.

               String fooName = "foo";
               Ant antV = new Ant();
               Target foo = new Target();
               verify.setName(fooName);
               proj.addTarget(foo);
               foo.addTask(antV);
               foo.setProject(proj);
               antV.setProject(proj);
               antV.init();
               antV.setDir(fBin);
               antV.setAntfile("build.xml");
               antV.setTarget(fooName);

Everything builds properly but at runtime we get the following error when
invoking foo:

The following error occurred while executing this line:
/home/ryano/svn-ws/spider/bin/build.xml:11: Problem: failed to create task or
type taskdef
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

       at org.apache.tools.ant.ProjectHelper.addLocationToBuildException
(ProjectHelper.java:541)
       at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:369)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils
.java:105)
       at org.apache.tools.ant.Task.perform(Task.java:348)
       at org.apache.tools.ant.Target.execute(Target.java:357)
       at org.apache.tools.ant.Target.performTasks(Target.java:385)
       at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
       at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
       at org.apache.tools.ant.helper.DefaultExecutor.executeTargets
(DefaultExecutor.java:41)
       at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
       at org.apache.tools.ant.Main.runBuild(Main.java:698)
       at org.apache.tools.ant.Main.startAnt(Main.java:199)
       at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
       at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)


We also see this error in front of the stack trace but I don't think this is an
issue:

Could not load definitions from resource org/apache/tools/ant/antlib.xml. It
could not be found.



I googled about for awhile and searched the email archive but came up empty.  I
saw some threads with similar issues but the solution to those issues seemed to
be adding missing task impls to the ant lib directory.   Just seems odd that
the core Ant tasks can not be found.

Switching back to Ant 1.6.5 solves the problem but I'd like to understand the
issue and if there are any work arounds for this.  I know we could use the
recently added import task but this would require a large scale change to the
source base which is a little risky right now.

Any help appreciated.  Thanks in advance.
--ryano


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)


©2008 ant-tasks.com - Jax Systems, LLC, U.S.A.