Skip to main content



      Home
Home » Archived » Eclipse Communications Framework (ECF) » Problem running ECF 3.5.2 on Helios(java.lang.NoSuchMethodError: org.osgi.framework.Version.compareTo(Lorg/osgi/framework/Version;))
Problem running ECF 3.5.2 on Helios [message #752471] Wed, 26 October 2011 08:00 Go to next message
Eclipse UserFriend
Hi all!

I am trying the ECF remote services examples of the Wiki in Eclipse Helios, version Modeling, with ECF 3.5.2 installed instead of making use of a specific target platform. An exception raises upon execution of

containerFactoryServiceTracker.open()

in line 111 of org.eclipse.ecf.internal.examples.remoteservices.hello.consumer.HelloConsumerApplication.java. After that the consumer is unable to access the published service IHello.

Here is the exception trace:

java.lang.NoSuchMethodError: org.osgi.framework.Version.compareTo(Lorg/osgi/framework/Version;)I
at org.eclipse.ecf.internal.osgi.services.remoteserviceadmin.Activator.isOldEquinox(Activator.java:244)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.getProxyServiceFactoryContext(RemoteServiceAdmin.java:1528)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.createAndRegisterProxy(RemoteServiceAdmin.java:1485)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:1986)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.importService(RemoteServiceAdmin.java:356)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractTopologyManager.handleEndpointAdded(AbstractTopologyManager.java:225)
at org.eclipse.ecf.internal.osgi.services.distribution.BasicTopologyManager.endpointAdded(BasicTopologyManager.java:133)
at org.eclipse.ecf.osgi.services.remoteserviceadmin.EndpointDescriptionLocator$1.dispatchEvent(EndpointDescriptionLocator.java:154)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)

It seems that the problem comes from an API change in org.osgi.framework.Version.compareTo(...), where the type of the single parameter has changed from Eclipse 3.6 to 3.7.

The way I have solved this is by recompiling the org.eclipse.ecf.osgi.services.remoteserviceadmin plugin on the Helios platform, no source code modification required. Now the exception has disappeared and the consumer succeeds in accessing the service and invoking its methods.

I guess this means that ECF 3.5.2 is not strictly compatible with Helios... Has anyone experienced the same issue?

Cheers!

Victor
Re: Problem running ECF 3.5.2 on Helios [message #754766 is a reply to message #752471] Fri, 04 November 2011 05:18 Go to previous message
Eclipse UserFriend
I just blogged about a solution I came up with. It should fix this problem and allow you to compile on any Eclipse version.

computerfloss.com/blog/2011/11/a-little-problem-in-the-osgi-version-class/
Previous Topic:How can the 'ecf.exported.containerfactoryargs' set dynamically while using DS?
Next Topic:How to debug ECF?
Goto Forum:
  


Current Time: Thu Mar 27 01:00:15 EDT 2025

Powered by FUDForum. Page generated in 0.05525 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top