Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » 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
Victor Sanchez is currently offline Victor Sanchez
Messages: 4
Registered: July 2009
Junior Member
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
Karl Beecher is currently offline Karl Beecher
Messages: 1
Registered: November 2011
Junior Member
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 Jul 31 11:51:12 EDT 2014

Powered by FUDForum. Page generated in 0.12759 seconds