Aside from this being the correct behavior (, it sounds like a manifest
problem. If App is in package com.foo.bar, then your bundle needs to import
this package. If that import is not-optional (the default), then the bundle
won't start. If you are concerned about the annotation being deleted from
that package, then require a specific version of the package.

Justin

On Fri, Jan 15, 2010 at 2:57 AM, Brodie <brodie....@gmail.com> wrote:

>
> hi,
> i find that when felix installing a bundle, if the bundle referred to some
> other bundle's exported Annotation, and if the Annotation class is not
> accessible(for example the annotation class is deleted) , felix omit the
> Annotation.
> i am not sure if this is a bug, or the JVM runs in this way, but it is
> definitely not reasonable. i waste much time on it.
>
> Here is the test,
> public class TestLoadAnnotation {
>        @Test
>        public void testLoad() throws Exception{
>                Felix f = new Felix(new HashMap());
>                f.init(); f.start();
>                Bundle bundle =
>
> f.getBundleContext().installBundle("file:///home/chi/workspace/profile/target/profile-0.0.1-SNAPSHOT-package.jar");
>                bundle.start();
>                BundleActivator activator =
> FelixHelper.getBundleActivator(bundle);
>                System.out.println(activator.getClass().getClassLoader());
>                Assert.assertTrue(0 !=
> activator.getClass().getAnnotations().length);
>        }
> }
>
> and the profile bundle's activator definition.
> @App("profile")
> public class Activator implements BundleActivator{...}
>
> i checked the class file of Activator, and there is this runtime visible
> @App annotation. why the annotation is missing?
>
>
>
> --
> View this message in context:
> http://old.nabble.com/Is-is-a-bug-to-omit-the-Annotation-class--tp27173344p27173344.html
> Sent from the Apache Felix - Dev mailing list archive at Nabble.com.
>
>

Reply via email to