Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Virgo » NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api
NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #989985] Mon, 10 December 2012 05:45 Go to next message
Thomas Pepio is currently offline Thomas Pepio
Messages: 3
Registered: December 2012
Junior Member
Hi everyone,

After installing xmlschema-core-2.0.3.jar (first) and com.springsource.javax.wsdl-1.6.1.jar (second) into the virgo_root_install/pickup/ directory, I try to install
cxf-api-2.7.0.jar too.

This leads to the following error message in virgo_root_install/serviceability/logs/log.log => Exception in thread "region-dm-4" java.lang.NoClassDefFoundError: org/eclipse/gemini/blueprint/blueprint/container/SpringBlueprintContainer.

For further details, I joined a more precise log.



I must also say that I checked which bundles were exporting the package org.eclipse.gemini.blueprint, and was surprised that there were actually two of them.
Both are related to the same jar : org.eclipse.gemini.blueprint.core_1.0.0.RELEASE.jar.

According to the Virgo Admin Console, the first bundle is deployed in : virgo_root_install/work/org.eclipse.virgo.kernel.deployer_3.5.0.RELEASE/staging/global/bundle/org.eclipse.gemini.blueprint.core/1.0.0.RELEASE/org.eclipse.gemini.blueprint.core_1.0.0.RELEASE.jar/#org.eclipse.virgo.region.user.

The second is deployed in : reference:file:plugins/org.eclipse.gemini.blueprint.core_1.0.0.RELEASE.jar.


Is this the normal behaviour of the platform ? I feel like I don't understand what's going on there Confused .


Any clues ?

Regards,
Thomas.
  • Attachment: log.log
    (Size: 19.87KB, Downloaded 89 times)
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #990247 is a reply to message #989985] Tue, 11 December 2012 10:24 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
It's normal for two instances of Gemini Blueprint to be installed. One goes in the kernel region (from plugins/) and the other in the user region via the kernel deployer. The two shouldn't interfere with each other unless you have changed the user region properties file (in configuration/). The bundles you drop into pickup/ are deployed into the user region and should collaborate with the Gemini Blueprint in the user region.

I agree the behaviour you are seeing is pretty bizarre though. The CXF API bundle doesn't contain any embedded JARs does it? (Some CXF "uber bundles" do contain embedded JARs and can lead to surprising behaviour.)

[Updated on: Tue, 11 December 2012 10:25]

Report message to a moderator

Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #990289 is a reply to message #990247] Tue, 11 December 2012 12:47 Go to previous messageGo to next message
Thomas Pepio is currently offline Thomas Pepio
Messages: 3
Registered: December 2012
Junior Member
Thank you for the reply,

I just checked and the cxf jar I want to deploy does not contain any other jar in it. I did not modified the properties file responsible for the user region configuration.

Could the NoClassDefFoundError exception be thrown because of a too high numbers of successive folders (causing a too high numbers of letters) making virgo unable to load the .class ?


Regards,
Thomas.
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #990406 is a reply to message #990289] Wed, 12 December 2012 05:32 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
It's conceivable, but very unlikely, as someone would have hit that problem before (we have lots of Windows users).

I think you're going to have to debug the class loading failure, which is not as scary as it sounds. But before you do, please can you post the CXF API manifest in case there are some "fishy" dependencies.
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #990923 is a reply to message #990406] Fri, 14 December 2012 17:27 Go to previous messageGo to next message
Thomas Pepio is currently offline Thomas Pepio
Messages: 3
Registered: December 2012
Junior Member
Yep, onward to debug Smile !

I attached the manifest to this post. I can see that cxf-api does not import any "org.eclipse.gemini" (or "org.eclipse.gemini.blueprint") package.

At first I thinked that it was the cause of the NoClassDefFoundException but (correct me if I'm wrong) it is not this bundle who needs the SpringBlueprintContainer class : it is the one who tries to load the ~/OSGI-INF/cxf-api.xml file located in the cxf-api jar, right ?


Regards,
Thomas.
  • Attachment: MANIFEST.MF
    (Size: 6.58KB, Downloaded 83 times)
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #991071 is a reply to message #990923] Mon, 17 December 2012 04:42 Go to previous messageGo to next message
Glyn Normington is currently offline Glyn Normington
Messages: 1222
Registered: July 2009
Senior Member
Right.

The manifest is not too surprising, but I'm a little worried by the optional import of org.apache.aries.blueprint which may indicate a dependency on Aries Blueprint implementation, or at least a bias towards that implementation. I'm now wondering what the CXF API bundle contains and whether it is more than just interfaces.

Please post back when you have some findings from your debugging. Remember that watching expressions such as x.getClass().getClassLoader() is a good way to get the initiating class loader of a particular object x.
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #995280 is a reply to message #991071] Sat, 29 December 2012 11:22 Go to previous messageGo to next message
Eduardo Frazão is currently offline Eduardo Frazão
Messages: 118
Registered: January 2012
Senior Member
I cant use CXF 2.7 here because Aries blueprint dependency Sad
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #1006170 is a reply to message #990406] Wed, 30 January 2013 05:43 Go to previous messageGo to next message
Ilya Mykhaylov is currently offline Ilya Mykhaylov
Messages: 2
Registered: January 2013
Junior Member
Hi, I have also strange bug at virgo nano with classloader and with p2 update site on windows pc (on linux works fine). After p2 update(I have my own custom repository). I'm getting NoClassDefFoundError - this occured after p2 jar at plugins dir had been overriden - after restart all works ok.
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #1006173 is a reply to message #990406] Wed, 30 January 2013 05:51 Go to previous messageGo to next message
Ilya Mykhaylov is currently offline Ilya Mykhaylov
Messages: 2
Registered: January 2013
Junior Member
actually I have noticed NoClassDefFoundError only with p2 update at runtime and only on windows can someone point me whats wrong with windows and virgo? how to fix this problem during update?!
Re: NoClassDefFoundError on SpringBlueprintContainer when installing cxf-api [message #1034304 is a reply to message #990923] Fri, 05 April 2013 05:10 Go to previous message
C TRAN-XUAN is currently offline C TRAN-XUAN
Messages: 8
Registered: December 2011
Junior Member
Hello all,
We had the same issue with the cxf-bundle-minimal-2.7.0. But this did not prevent our bundle from starting within Virgo 3.5.0.RELEASE. We just had the same stacktrace in the log.

I don't know whether it helps for your issue but we did create fragment to import the missing package and the stacktrace went off.

Manifest-Version: 1.0
Implementation-Version: 1.0.0.RELEASE
Implementation-Revision: revZzz
Tool: Bundlor 1.1.1.RELEASE
Bundle-Name: com.xxx.yyy.cxf-bundle-minimal.fragment
Created-By: Apache Maven 3.0.4
Fragment-Host: org.apache.cxf.bundle-minimal
Bundle-Version: 1.0.0.RELEASE
Build-Jdk: 1.6.0_30
Bundle-ManifestVersion: 2
Import-Package: org.eclipse.gemini.blueprint.blueprint.container;versi
 on="1.0.0"
Bundle-SymbolicName: com.xxx.yyy.cxf-bundle-minimal.fragment
Specification-Version: 1.0.0.RELEASE
Archiver-Version: Plexus Archiver


I hope this help.
Previous Topic:virgo in the cloud
Next Topic:Remote command execution to the SSH shell?
Goto Forum:
  


Current Time: Mon Jul 28 18:51:22 EDT 2014

Powered by FUDForum. Page generated in 0.14951 seconds