Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] Missing class when running CDOServer(Did a Kepler update cause a clash of versions?)
[CDO] Missing class when running CDOServer [message #1721933] Mon, 01 February 2016 17:39 Go to next message
David Wynter is currently offline David WynterFriend
Messages: 4624
Registered: July 2009
Senior Member
Hi,

I have to maintain a CDOServer installation and it has been a while. I get a new exception, not sure if it is a set of incompatible classes that Kepler updated to.

I get:

Caused by: java.lang.ClassNotFoundException: org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager$BranchLoader3 cannot be found by org.eclipse.emf.cdo.server_4.4.1.v20150911-1807
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)


I follow this https://wiki.eclipse.org/Setting_up_a_CDO_Server
Here is the list from the product file:

  <plugins>
      <plugin id="com.instantiations.assist.eclipse.fragment.swt" fragment="true"/>
      <plugin id="com.example.cdoserver"/>
      <plugin id="com.example.engine.net4j" fragment="true"/>
      <plugin id="com.example.server.commons"/>
      <plugin id="com.example.services.db"/>
      <plugin id="javax.annotation"/>
      <plugin id="javax.inject"/>
      <plugin id="javax.transaction" fragment="true"/>
      <plugin id="javax.xml"/>
      <plugin id="org.eclipse.ant.core"/>
      <plugin id="org.eclipse.core.contenttype"/>
      <plugin id="org.eclipse.core.expressions"/>
      <plugin id="org.eclipse.core.filesystem"/>
      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
      <plugin id="org.eclipse.core.jobs"/>
      <plugin id="org.eclipse.core.resources"/>
      <plugin id="org.eclipse.core.runtime"/>
      <plugin id="org.eclipse.core.runtime.compatibility.auth"/>
      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
      <plugin id="org.eclipse.core.variables"/>
      <plugin id="org.eclipse.emf.cdo"/>
      <plugin id="org.eclipse.emf.cdo.common"/>
      <plugin id="org.eclipse.emf.cdo.common.db"/>
      <plugin id="org.eclipse.emf.cdo.ecore.retrofit" fragment="true"/>
      <plugin id="org.eclipse.emf.cdo.net4j"/>
      <plugin id="org.eclipse.emf.cdo.server"/>
      <plugin id="org.eclipse.emf.cdo.server.db"/>
      <plugin id="org.eclipse.emf.cdo.server.net4j"/>
      <plugin id="org.eclipse.emf.common"/>
      <plugin id="org.eclipse.emf.ecore"/>
      <plugin id="org.eclipse.emf.ecore.change"/>
      <plugin id="org.eclipse.emf.ecore.xmi"/>
      <plugin id="org.eclipse.equinox.app"/>
      <plugin id="org.eclipse.equinox.common"/>
      <plugin id="org.eclipse.equinox.launcher"/>
      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.equinox.preferences"/>
      <plugin id="org.eclipse.equinox.registry"/>
      <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
      <plugin id="org.eclipse.jetty.osgi-servlet-api"/>
      <plugin id="org.eclipse.jetty.osgi.npn.fragment" fragment="true"/>
      <plugin id="org.eclipse.net4j"/>
      <plugin id="org.eclipse.net4j.db"/>
      <plugin id="org.eclipse.net4j.db.h2"/>
      <plugin id="org.eclipse.net4j.db.jdbc"/>
      <plugin id="org.eclipse.net4j.tcp"/>
      <plugin id="org.eclipse.net4j.util"/>
      <plugin id="org.eclipse.osgi"/>
      <plugin id="org.eclipse.osgi.services"/>
      <plugin id="org.eclipse.swt"/>
      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.h2"/>
   </plugins>

I see Kepler now has a version org.eclipse.emf.cdo_4.4.1.v20150914-0747 in plugins. Could this cause an issue?

When you leave the CDOServer.product file list of plugins and fragments having no version, does it just use the latest?

How do you identify which plugin has the missing class?

Thx

[Updated on: Mon, 01 February 2016 17:44]

Report message to a moderator

Re: [CDO] Missing class when running CDOServer [message #1721985 is a reply to message #1721933] Tue, 02 February 2016 06:47 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Hi David,

All CDO plugins in your clients and servers should ideally come from the same build. The class
org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager$BranchLoader3 is in the org.eclipse.emf.cdo.common
plugin, from version 4.4 on:

/**
* @since 4.4
*/
public interface BranchLoader3 extends BranchLoader2
{
public void renameBranch(int branchID, String oldName, String newName);
}

When you leave the CDOServer.product file list of plugins and fragments having no version, p2 uses the latest available
in the configured repos that matches all (other) requirements.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper



Am 01.02.2016 um 18:39 schrieb David Wynter:
> Hi,
>
> I have to maintain a CDOServer installation and it has been a while. I get a new exception, not sure if it is a set of
> incompatible classes that Kepler updated to.
> I get:
>
> Caused by: java.lang.ClassNotFoundException:
> org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager$BranchLoader3 cannot be found by
> org.eclipse.emf.cdo.server_4.4.1.v20150911-1807
> at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
>
>
> I follow this https://wiki.eclipse.org/Setting_up_a_CDO_Server
>
> I see Kepler now has a version org.eclipse.emf.cdo_4.4.1.v20150914-0747 in plugins. Could this cause an issue?
>
> When you leave the CDOServer.product file list of plugins and fragments having no version, does it just use the latest?
>
> How do you identify which plugin has the missing class?
>
> Thx


Re: [CDO] Missing class when running CDOServer (Solved) [message #1722056 is a reply to message #1721985] Tue, 02 February 2016 14:17 Go to previous messageGo to next message
David Wynter is currently offline David WynterFriend
Messages: 4624
Registered: July 2009
Senior Member
Thx,

That seems to be the problem. I see org.eclipse.emf.cdo.common with the correct version 4.4.1 is installed in my Kepler install in the "Eclipse Installation details" plugin dialog. But when I go to the Dependencies, Required Plugins dialog for my project it is not display, but all the other cdo plugins seem to be, it is also not in those already specified. org.eclipse.emf.cdo.common.db is already included, but is version 3.0.301 I did a Clean... but it still does not show up. Not sure how I can get this dialog to show the plugin that is already present in my installation?

EDIT - I deleted all 4.4.1 version CDO related plugins, I reinstalled all 4.2.1 from the Kepler release update site. This solved the problem. It looks like I had a partial update of CDO from when I did a Eclipse update recently.

David

[Updated on: Wed, 03 February 2016 13:20]

Report message to a moderator

Re: [CDO] Missing class when running CDOServer [message #1722067 is a reply to message #1722056] Tue, 02 February 2016 15:03 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Am 02.02.2016 um 15:17 schrieb David Wynter:
> Thx,
>
> That seems to be the problem. I see org.eclipse.emf.cdo.common with the correct version 4.1.1 is installed in my
> Kepler install in the "Eclipse Installation details" plugin dialog. But when I go to the Dependencies, Required
> Plugins dialog for my project it is not display, but all the other cdo plugins seem to be, it is also not in those
> already specified.
I find it hard to imagine what you're looking at. Can you attach a screenshot?

> org.eclipse.emf.cdo.common.db is already included, but is version 3.0.301
That plugin is most likely irrelevant. It just contains an (almost) abandoned attempt to provide a DB-based revision
cache. It's version might well be way behind the more actively evoloved plugins.


> I did a Clean... but it still doe snot show up. Not sure how I can get this dialog to show the plugin that is already
> present in my installation?
Maybe the screenshot helps me to see the problem...

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


Re: [CDO] Missing class when running CDOServer [message #1722187 is a reply to message #1722067] Wed, 03 February 2016 09:48 Go to previous message
David Wynter is currently offline David WynterFriend
Messages: 4624
Registered: July 2009
Senior Member
Hi Eike,

I should have made it clearer, but the problem is solved. By reverting to the version of CDO that came with Kepler SP2 it just worked.

I have another detailed question I am preparing, something that has really bugged us in using CDO and made about a dozen repos unusable. I now have a small one that has the problem (all previous ones are large) so maybe if I inspect the database content I can work out the problem. I'll post the question in the next hour or so.
Previous Topic:[Xcore] Defining get on derived features using reflective feature delegation
Next Topic:[CDO] Invalid Classifier URI: null
Goto Forum:
  


Current Time: Wed Apr 24 18:36:33 GMT 2024

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

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

Back to the top