Hi Ray, I think the issue is in the org.apache.jasper.glassfish bundle that is repackaged by the orbit project. This bundle must import the package org.xml.sax if it uses that package. This situation must also fail on felix. In fact I would expect it to fail by default in felix also unless you are setting the org.osgi.framework.bootdelegation configuration property to include the org.xml.sax package. I suspected in equinox that you were setting the framework configuration property osgi.compatibility.bootdelegation=false (by default this configuration property is set to true in equinox). When this option is set to true then the bundle class loader does a last resort delegation to the boot class loader before throwing a class not found. Because this option is set to true by default must be why we are not seeing this CNFE when running eclipse help in Juno.
If I am understanding your situation correctly it seems to be a bug in the org.apache.jasper.glassfish bundle maintained in orbit. If you agree, please open a bug against orbit at https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Orbit Thanks. Tom |------------> | From: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Raymond Auge <[email protected]> | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | To: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Equinox development mailing list <[email protected]>, | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Date: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |09/12/2012 09:34 PM | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Subject: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Re: [equinox-dev] org.xml.sax | >--------------------------------------------------------------------------------------------------------------------------------------------------| Forgive me Tomas if I'm misunderstanding, I don't think the issue is actually with Equinox in any way. I just think there may be a different assumption in the Felix defaults compared to Equinox. Obviously there is no issue in Glassfish with this bundle, but under Equinox these are considered missing imports. I was simply trying to understand the behavior. Your statement however, that these packages should be imported, leads me to believe that the problem lies with glassfish's jasper bundle. I solved the issue by attaching a fragment bundle to the jasper bundle which included the missing imports and that solved that problem. Thanks, - Ray On Wed, Sep 12, 2012 at 4:41 PM, Thomas Watson <[email protected]> wrote: The answer is yes. Bundles must import any package that is not from one of the java.* packages. I suspect this is working for the default equinox configuration because we have a compatibility flag enabled by default that does a boot delegation as a last resort. Could you please open an eclipse orbit bug for this at: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Orbit Tom Inactive hide details for Raymond Auge ---09/12/2012 02:42:00 PM---excerpt of log: BundleLoader[org.apache.jasper.glassfish_2.2Raymond Auge ---09/12/2012 02:42:00 PM---excerpt of log: BundleLoader [org.apache.jasper.glassfish_2.2.2.v201112011158] found local class org.apache.jasper.compiler.Node From: Raymond Auge <[email protected]> To: Equinox development mailing list < [email protected]>, Date: 09/12/2012 02:42 PM Subject: Re: [equinox-dev] org.xml.sax excerpt of log: BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158] found local class org.apache.jasper.compiler.Node$Root BundleClassLoader [org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass (org.xml.sax.Attributes) BundleLoader [org.apache.jasper.glassfish_2.2.2.v201112011158].loadBundleClass (org.xml.sax.Attributes) BundleLoader [org.apache.jasper.glassfish_2.2.2.v201112011158].findLocalClass (org.xml.sax.Attributes) BundleClassLoader [/home/rotty/AS/liferay-portal/data/framework/state/org.eclipse.osgi/bundles/69/1/bundlefile].findClassImpl (org.xml.sax.Attributes) BundleClassLoader [org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass (org.xml.sax.Attributes) failed. java.lang.ClassNotFoundException: org.xml.sax.Attributes at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal (BundleLoader.java:501) at org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:421) at org.eclipse.osgi.internal.loader.BundleLoader.findClass (BundleLoader.java:412) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass (DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:266) at org.apache.jasper.compiler.ParserController.doParse (ParserController.java:244) at org.apache.jasper.compiler.ParserController.parse (ParserController.java:145) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:212) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) at org.apache.jasper.JspCompilationContext.compile (JspCompilationContext.java:625) at org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet._serviceJspFile (JspServlet.java:492) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) - Ray On Wed, Sep 12, 2012 at 3:40 PM, Raymond Auge <[email protected]> wrote: Do bundles have to declare this import? It appears that it's a default package exported by the system bundle. However, if you take a look at this bundle org.apache.jasper.glassfish_2.2.2.v201112011158 it does not declare that package as an import, but still fails to resolve it as well. Thoughts? I'm testing to see if I can solve this by attaching a fragment bundle which imports the package. -- Raymond Augé | Senior Software Architect | Liferay, Inc. --- 8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012 16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012 24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012 -- Raymond Augé | Senior Software Architect | Liferay, Inc. --- 8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012 16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012 24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012 _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev -- Raymond Augé | Senior Software Architect | Liferay, Inc. --- 8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012 16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012 24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012 _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
<<inline: graycol.gif>>
<<inline: ecblank.gif>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
