ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: classcast exception when attempting to use cachepath task
Date Tue, 23 Jan 2007 07:46:24 GMT
On 1/22/07, Loehr, Ruel <rloehr@pointserve.com> wrote:
>
> Hi.


Hi

I'm having a problem using the cachepath task.  I receive a class cast
> exception when I define it.  I've researched the problem but cannot have
> not found a solution yet.


 You're problem is pretty strange, but I would bet it's a classloader
problem. Indeed here is line 130:
        ModuleDescriptor reference = (ModuleDescriptor)
getResolvedDescriptor(org, module, strict);

And the CCE indicate that the class of the object is
DefaultModuleDescriptor, which implements ModuleDescriptor. So it's
presumably because the ModuleDescriptor interface has not been loaded with
the same classloader as the class DefaultModuleDescriptor. How do you load
Ivy in ant? Do you use a taskdef with a special classpath, or do you put Ivy
in your ant lib directory? And do you call ant with some kind of recursive
feature, like subant or ant tasks? If it is the case try to do something
very simple (like a single build file with ivy.jar in ant lib directory
only) to see if the problem comes from here or not. And if you manage to
identify the problem, please add an bug in JIRA.

Xavier

My ivy.xml looks like this:
>
>
>
> <ivy-module version="1.0">
>
>     <info organisation="pointserve" module="eso"/>
>
>     <dependencies>
>
>         <dependency org="xdoclet" name="xdoclet-ejb-module" rev="1.2.3"
> conf="xdoclet"/>
>
>         <dependency org="xdoclet" name="xdoclet" rev="1.2.3"
> conf="xdoclet"/>
>
>         <dependency org="xjavadoc" name="xjavadoc" rev="1.1"
> conf="xdoclet"/>
>
>         <dependency org="commons-collections" name="commons-collections"
> rev="2.0" conf="xdoclet"/>
>
>         <dependency org="commons-logging" name="commons-logging"
> rev="1.0.4" conf="xdoclet"/>
>
>         <dependency org="xdoclet" name="xdoclet-jboss-module"
> rev="1.2.3" conf="xdoclet"/>
>
>         <dependency org="xdoclet" name="xdoclet-jmx-module" rev="1.2.3"
> conf="xdoclet"/>
>
>         <dependency org="xdoclet" name="xdoclet-web-module" rev="1.2.3"
> conf="xdoclet"/>
>
>         <dependency org="xdoclet" name="xdoclet-java-module" rev="1.2.3"
> conf="xdoclet"/>
>
>     </dependencies>
>
> </ivy-module>
>
>
>
> The dependencies get downloaded, no big issue there.
>
>
>
> In my build.xml I try to execute this task:
>
>     <ivy-cachepath pathid="xDocletClasspath" conf="xdoclet" />
>
>
>
> And get the following stack trace:
>
>
>
> BUILD FAILED
>
> C:\projects\snm\build\task-paths.xml:5: java.lang.ClassCastException:
> fr.jayasof
>
> t.ivy.DefaultModuleDescriptor
>
>         at org.apache.tools.ant.Task.perform(Task.java:373)
>
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>
>         at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
>
> cutor.java:40)
>
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
>
> Caused by: java.lang.ClassCastException:
> fr.jayasoft.ivy.DefaultModuleDescriptor
>
>
>
>         at
> fr.jayasoft.ivy.ant.IvyTask.getConfsToResolve(IvyTask.java:130)
>
>         at fr.jayasoft.ivy.ant.IvyTask.ensureResolved(IvyTask.java:119)
>
>         at
> fr.jayasoft.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolve
>
> Task.java:87)
>
>         at
> fr.jayasoft.ivy.ant.IvyCachePath.execute(IvyCachePath.java:42)
>
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>
>         ... 10 more
>
> --- Nested Exception ---
>
> java.lang.ClassCastException: fr.jayasoft.ivy.DefaultModuleDescriptor
>
>         at
> fr.jayasoft.ivy.ant.IvyTask.getConfsToResolve(IvyTask.java:130)
>
>         at fr.jayasoft.ivy.ant.IvyTask.ensureResolved(IvyTask.java:119)
>
>         at
> fr.jayasoft.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolve
>
> Task.java:87)
>
>         at
> fr.jayasoft.ivy.ant.IvyCachePath.execute(IvyCachePath.java:42)
>
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>
>         at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExe
>
> cutor.java:40)
>
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
>
>
>
>
>
> The key error is:
>
>
>
> java.lang.ClassCastException: fr.jayasoft.ivy.DefaultModuleDescriptor
>
>         at
> fr.jayasoft.ivy.ant.IvyTask.getConfsToResolve(IvyTask.java:130)
>
>
>
> I pulled up the source code, but nothing stands out to me......Any
> ideas?  The old forums are dead and I am stumped.
>
>
>
> Ruel Loehr
>
> Configuration Management
>
>
>
> Pointserve, Inc.
>
> 110 Wild Basin Road
>
> Suite 300
>
> Austin, Texas 78746
>
> O: 512.617.5314
>
> F: 512.617.0466
>
>
>
>
>

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