|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
classloader problem?I think I have a classloader problem.
I've made a custom task that looks through classes for a method annotation, then makes a report. I've got junit tests that work in my IDE showing that the annotations can be found. But when I run the task the annotations are not recognized. .... That is, the annotation is there. I can read its type. But if I ask the method for an annotation matching the class it doesn't match. (Yes, the class matches the reported type.: e.g., com.foo.MyAnnotation.class) So I think I have a classloader problem. My task accepts a path to find the classes with the annotations. It creates a classloader from the ant project, passing in the given path. My theory is that the classes loaded by my task are on a different classloader than the MyAnnotation.class and that is why they don't match. ... Sound right? .... If so how do I get them on the same classloader? Thanks in advance, boz |
|
|
Re: classloader problem?Christofer Jennings wrote:
> I think I have a classloader problem. > > I've made a custom task that looks through classes for a method annotation, > then makes a report. I've got junit tests that work in my IDE showing that > the annotations can be found. But when I run the task the annotations are > not recognized. .... That is, the annotation is there. I can read its type. > But if I ask the method for an annotation matching the class it doesn't > match. (Yes, the class matches the reported type.: e.g., > com.foo.MyAnnotation.class) > > So I think I have a classloader problem. My task accepts a path to find the > classes with the annotations. It creates a classloader from the ant project, > passing in the given path. My theory is that the classes loaded by my task > are on a different classloader than the MyAnnotation.class and that is why > they don't match. ... Sound right? .... If so how do I get them on the same > classloader? > I think that hypothesis sounds right, but don't know where to deal with it. Can you load the tags you want to look for in the classloader that you are loading the classes in? --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@... For additional commands, e-mail: user-help@... |
|
|
Re: classloader problem?Also remember to use the classloader that loaded the
custom task as the parent for the new classloader created in the task. Peter On Wed, May 7, 2008 at 3:59 PM, Steve Loughran <stevel@...> wrote: > > Christofer Jennings wrote: > > > I think I have a classloader problem. > > > > I've made a custom task that looks through classes for a method > annotation, > > then makes a report. I've got junit tests that work in my IDE showing that > > the annotations can be found. But when I run the task the annotations are > > not recognized. .... That is, the annotation is there. I can read its > type. > > But if I ask the method for an annotation matching the class it doesn't > > match. (Yes, the class matches the reported type.: e.g., > > com.foo.MyAnnotation.class) > > > > So I think I have a classloader problem. My task accepts a path to find > the > > classes with the annotations. It creates a classloader from the ant > project, > > passing in the given path. My theory is that the classes loaded by my task > > are on a different classloader than the MyAnnotation.class and that is why > > they don't match. ... Sound right? .... If so how do I get them on the > same > > classloader? > > > > > > I think that hypothesis sounds right, but don't know where to deal with it. > Can you load the tags you want to look for in the classloader that you are > loading the classes in? > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@... > For additional commands, e-mail: user-help@... > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@... For additional commands, e-mail: user-help@... |
|
|
Re: classloader problem?Ah ha! That was it! ... I was ...
getProject().createClassLoader(classpath); ... when I needed to ... getProject().createClassLoader(MyAnnotation.class.getClassLoader();, classpath); THANKS Peter! On Wed, May 7, 2008 at 8:49 AM, Peter Reilly <peter.kitt.reilly@...> wrote: > Also remember to use the classloader that loaded the > custom task as the parent for the new classloader > created in the task. > > Peter > > On Wed, May 7, 2008 at 3:59 PM, Steve Loughran <stevel@...> wrote: > > > > Christofer Jennings wrote: > > > > > I think I have a classloader problem. > > > > > > I've made a custom task that looks through classes for a method > > annotation, > > > then makes a report. I've got junit tests that work in my IDE showing > that > > > the annotations can be found. But when I run the task the annotations > are > > > not recognized. .... That is, the annotation is there. I can read its > > type. > > > But if I ask the method for an annotation matching the class it > doesn't > > > match. (Yes, the class matches the reported type.: e.g., > > > com.foo.MyAnnotation.class) > > > > > > So I think I have a classloader problem. My task accepts a path to > find > > the > > > classes with the annotations. It creates a classloader from the ant > > project, > > > passing in the given path. My theory is that the classes loaded by my > task > > > are on a different classloader than the MyAnnotation.class and that is > why > > > they don't match. ... Sound right? .... If so how do I get them on the > > same > > > classloader? > > > > > > > > > > I think that hypothesis sounds right, but don't know where to deal with > it. > > Can you load the tags you want to look for in the classloader that you > are > > loading the classes in? > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscribe@... > > For additional commands, e-mail: user-help@... > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscribe@... > For additional commands, e-mail: user-help@... > > |
| Free Forum Powered by Nabble | Forum Help |