dev@glassfish.java.net

Re: [V3]Hwo to use forName from one bundle to another?

From: Bhakti Mehta <Bhakti.Mehta_at_Sun.COM>
Date: Fri, 06 Jun 2008 12:03:42 -0700

Kin-man,
I ran into similar issue where I had a problem because the
AnnotationProcessorImpl which lies in common/annotation-framework could
not find Webservice class which is in javax.javaee module
I added the dependency in the annotation-framework pom.xml for
javax.javaee ( not committed as yet) and rebuilt that module
+ <dependency>
+ <groupId>org.glassfish</groupId>
+ <artifactId>javax.javaee</artifactId>
+ <version>${project.version}</version>
+ </dependency>
Atleast that worked for me and I could make progress (working on the
next issue now)
If you then extract the MANIFEST of your target/*.jar in your module you
will have the updated info in it which has the necessary
HK2-Import-Bundles and Require-Bundle and that will mention this
additional dependency too
Hope that helps
Regards,
Bhakti

Kin-man Chung wrote:
> Thanks Sahoo for clarifying loading of jars from a bundle that helped
> to solve my last problem. Now I have another. :-)
>
> The follow code fragment in org.apache.jasper.servlet.JspServlet used
> to work:
>
> String resourceInjectorClassName = config.getInitParameter(
> Constants.JSP_RESOURCE_INJECTOR_CONTEXT_ATTRIBUTE);
>
> if (resourceInjectorClassName != null) {
> try {
> ResourceInjector ri = (ResourceInjector)
>
> Class.forName(resourceInjectorClassName).newInstance();
> ri.setContext(this.context);
> this.context.setAttribute(
> Constants.JSP_RESOURCE_INJECTOR_CONTEXT_ATTRIBUTE,
> ri);
> } catch (Exception e) {
> throw new ServletException(e);
> }
> }
>
> Now I am getting a CNFE:
>
> java.lang.ClassNotFoundException:
> com.sun.enterprise.web.jsp.ResourceInjectorImpl
> at
> org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:200)
>
> at
> org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45)
>
> at
> org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109)
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:169)
> at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:158)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1213)
>
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
>
> Is this caused by the fact that
> com.sun.enterprise.web.jsp.ResourceInjectorImpl and
> org.apache.jasper.servlet.JspServlet are now in two different bundles?
>
> What can I do? Thanks.
>
> -Kin-man
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>
>