0

I'm running Eclipse 3.7 (Indigo) and installed the Subclipse plugin a while back. Prior to that I know CVS was working properly. Since I installed Subclipse, I haven't really had the need for CVS. Recently I inherited a CVS project to maintain. When I try to open the Team Synchronize view and attempt to Synchronize to a CVS repo, I get the following error message:

java.lang.NoClassDefFoundError: org/eclipse/team/internal/ui/synchronize/RegexDiffFilter
    at org.eclipse.team.internal.ccvs.ui.actions.SyncAction.execute(SyncAction.java:58)
    at org.eclipse.team.internal.ccvs.ui.actions.CVSAction.run(CVSAction.java:117)
    at org.eclipse.team.internal.ui.actions.TeamAction.runWithEvent(TeamAction.java:549)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:241)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: java.lang.ClassNotFoundException: org.eclipse.team.internal.ui.synchronize.RegexDiffFilter
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 31 more

I found one bug filed on https://bugs.eclipse.org/bugs/show_bug.cgi?id=386664 which is exactly this issue, but no one has offered any solutions other than upgrading to a newer version of Eclipse, which is not an option for me.

Interestingly, I am able to checkout/update, but just cannot use the Synchronize View.

Does anyone have a clue if/what I can do to try to restore my CVS functionality?

Some hopefully pertinent information: From plugin table:

CVS Team Provider Core: v3.3.500.v20120522-1148 (org.eclipse.team.cvs.core)
CVS Team Provider UI: : v3.3.500.v20120522-1148 (org.eclipse.team.cvs.ui)
CVS SSH2: v3.2.300.v20120522-1148 (org.eclipse.team.cvs.ssh2)
Eclipse CVS Client: v1.2.0.v201209141800 (org.eclipse.cvs)
Team Support Core: v3.6.0.I20110525-0800 (org.eclipse.team.core)
Team Support UI: v3.6.101.R37x_20111109-0800 (org.eclipse.team.ui) 

Using:

Version: Indigo Service Release 2
Build id: 20120216-1857
Eric B.
  • 23,425
  • 50
  • 169
  • 316
  • Can you check the version of your OS (32/64 bit) against the version the plugin was written for? –  Feb 26 '13 at 17:20
  • Which plugin? Subclipse? I am using org.tigris.subversion.subclipse v1.8.16. How do I check the version the plugin was written for? I am running Win 7x64 with jdk 1.6 (x64) – Eric B. Feb 26 '13 at 18:05
  • CVS - while you are at it, check the version of eclipse versus those plugins? –  Feb 26 '13 at 18:07
  • I'm not sure I understand exactly, but have edited the question to include some plugin/version information. – Eric B. Feb 26 '13 at 18:15
  • There is no way this problem has anything to do with Subclipse. – Mark Phippard Feb 26 '13 at 18:39
  • What are the versions of the org.eclipse.team.core and ui plugins? The bug you link to implies that this problem can happen when the version of those is too old. I have no idea how you could get in that state though. – Mark Phippard Feb 26 '13 at 18:45
  • I have added the versions for org.eclipse.team.core and ui plugins. I am surprised that this could be Subclipse related as well, however https://bugs.eclipse.org/bugs/show_bug.cgi?id=386664#c5 (comment 5) confirms the findings. Hence my hope to find a way to update outdated plugins. I do not know if they are updated/replaced upon installation of the Subclipse plugin, or if it is just a red herring. – Eric B. Feb 26 '13 at 18:58
  • I read comment #5 as saying they get the same bug when using Subclipse. Subclipse does not supply any of the plugins involved here. You can see what it provides here: http://subclipse.tigris.org/source/browse/subclipse/trunk/www/update_1.8.x/ – Mark Phippard Feb 26 '13 at 19:28
  • Any idea how to determine which package(s) would provide a newer cvs plugin but not update the supply/overwrite those plugins? Any way to restore the proper versions? Or am I just chasing up the wrong tree, and need to resolve a different problem elsewhere first? – Eric B. Feb 26 '13 at 19:44
  • Did you see comment 3? https://bugs.eclipse.org/bugs/show_bug.cgi?id=386664#c3 Your version mismatch the same as that comment. I would try the suggestion in that comment. It sounds to me like the Indigo download is broken – Mark Phippard Feb 26 '13 at 19:51
  • FWIW, I have the same version you do. I am just going by the comments in that Eclipse bug. I do not use CVS though. – Mark Phippard Feb 26 '13 at 19:54
  • I have both the Java and JEE Indigo SR2 packages download. Both of them contain this supposedly old version of the team.ui plugin. So if that is really the problem, it lives in the SR2 packages. – Mark Phippard Feb 26 '13 at 20:02
  • Do you have any idea if I can I safely download the Eclipse Platform SDK and the Eclipse SDK from the 3.8 update site on my 3.7 install without breaking everything? I would suspect that there would be a lot of dependencies that I might break when I do something like that. Secondly, do you know what the difference between "Eclipse SDK" and "Eclipse Platform SDK" are? – Eric B. Feb 26 '13 at 21:17

1 Answers1

1

I know this is not a definitive solution, but it worked for me:

Window -> Preference -> Team -> CVS -> Synchronize/Compare -> Uncheck Allow models (e.g. Java) to participate in synchronizations -> Ok

Hope that helps.

Romulo Diniz
  • 173
  • 2
  • 13