Subclipse:更新后 SVN 出错(无法创建 SVN 首选项页面)

Séb*_* C. 6 eclipse subclipse svn svnkit

下午好,

到目前为止,我一直在使用 Eclipse 和 Subclipse(使用 JavaHL)几个月没有任何问题。昨天(即 13/03/19)更新了一些插件(包括 Subclipse)后,subclipse不再工作。例如,我无法再提交或拉取任何文件,当我查看window> preference> Team> 时SVN,eclipse 显示以下消息: Unable to create the selected preference page. java.lang.reflect.InvocationTargetException

请在异常堆栈跟踪下方找到:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:206)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:934)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:284)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceNode.createPage(WorkbenchPreferenceNode.java:51)
    at org.eclipse.jface.preference.PreferenceDialog.createPage(PreferenceDialog.java:1279)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.createPage(FilteredPreferenceDialog.java:361)
    at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1166)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:675)
    at org.eclipse.jface.preference.PreferenceDialog$5.lambda$0(PreferenceDialog.java:660)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
    at org.eclipse.jface.preference.PreferenceDialog$5.selectionChanged(PreferenceDialog.java:657)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:874)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:176)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:871)
    at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1240)
    at org.eclipse.jface.viewers.StructuredViewer.lambda$0(StructuredViewer.java:1263)
    at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
    at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:264)
    at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
    at org.eclipse.jface.util.OpenStrategy$1.lambda$2(OpenStrategy.java:420)
    at org.eclipse.swt.widgets.Display.timerProc(Display.java:5566)
    at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
    at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1581)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4470)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
    at org.eclipse.jface.window.Window.open(Window.java:798)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:214)
    at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5663)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1386)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4931)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4472)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1474)
Caused by: java.lang.LinkageError: Native library version must be at least 1.11.0,but is only 1.9.3 (r1718519)
    at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:150)
    at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111)
    at org.apache.subversion.javahl.types.Version.<clinit>(Version.java:40)
    at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:147)
    at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111)
    at org.apache.subversion.javahl.SVNClient.<clinit>(SVNClient.java:52)
    at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory.isAvailable(JhlClientAdapterFactory.java:184)
    at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:83)
    at org.tigris.subversion.clientadapter.javahl.Activator.getVersionSynchronized(Activator.java:72)
    at org.tigris.subversion.clientadapter.javahl.Activator.getVersionString(Activator.java:67)
    at org.tigris.subversion.clientadapter.javahl.Activator.getDisplayName(Activator.java:97)
    at org.tigris.subversion.subclipse.ui.preferences.SVNPreferencesPage.<init>(SVNPreferencesPage.java:102)
    ... 66 more
Root exception:
java.lang.LinkageError: Native library version must be at least 1.11.0,but is only 1.9.3 (r1718519)
    at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:150)
    at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111)
    at org.apache.subversion.javahl.types.Version.<clinit>(Version.java:40)
    at org.apache.subversion.javahl.NativeResources.init(NativeResources.java:147)
    at org.apache.subversion.javahl.NativeResources.loadNativeLibrary(NativeResources.java:111)
    at org.apache.subversion.javahl.SVNClient.<clinit>(SVNClient.java:52)
    at org.tigris.subversion.svnclientadapter.javahl.JhlClientAdapterFactory.isAvailable(JhlClientAdapterFactory.java:184)
    at org.tigris.subversion.clientadapter.javahl.Activator.isAvailable(Activator.java:83)
    at org.tigris.subversion.clientadapter.javahl.Activator.getVersionSynchronized(Activator.java:72)
    at org.tigris.subversion.clientadapter.javahl.Activator.getVersionString(Activator.java:67)
    at org.tigris.subversion.clientadapter.javahl.Activator.getDisplayName(Activator.java:97)
    at org.tigris.subversion.subclipse.ui.preferences.SVNPreferencesPage.<init>(SVNPreferencesPage.java:102)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:206)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:934)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
    at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:284)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceNode.createPage(WorkbenchPreferenceNode.java:51)
    at org.eclipse.jface.preference.PreferenceDialog.createPage(PreferenceDialog.java:1279)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.createPage(FilteredPreferenceDialog.java:361)
    at org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1166)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.showPage(FilteredPreferenceDialog.java:675)
    at org.eclipse.jface.preference.PreferenceDialog$5.lambda$0(PreferenceDialog.java:660)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
    at org.eclipse.jface.preference.PreferenceDialog$5.selectionChanged(PreferenceDialog.java:657)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:874)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:47)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:176)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:871)
    at org.eclipse.jface.viewers.StructuredViewer.handlePostSelect(StructuredViewer.java:1240)
    at org.eclipse.jface.viewers.StructuredViewer.lambda$0(StructuredViewer.java:1263)
    at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
    at org.eclipse.jface.util.OpenStrategy.firePostSelectionEvent(OpenStrategy.java:264)
    at org.eclipse.jface.util.OpenStrategy.access$5(OpenStrategy.java:259)
    at org.eclipse.jface.util.OpenStrategy$1.lambda$2(OpenStrategy.java:420)
    at org.eclipse.swt.widgets.Display.timerProc(Display.java:5566)
    at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
    at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1581)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4470)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:822)
    at org.eclipse.jface.window.Window.open(Window.java:798)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:214)
    at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:66)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:476)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:568)
    at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:400)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5663)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1386)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4931)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4472)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:339)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:563)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:151)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:155)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:595)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1501)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1474)
Run Code Online (Sandbox Code Playgroud)

这里还有关于会话数据的信息:

eclipse.buildId=4.10.0.I20181206-0815
java.version=1.8.0_191
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -data file:/path/to/workspace/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
Run Code Online (Sandbox Code Playgroud)

昨天更新了以下元素:

  • Marketplace Client1.7.2.v20180829-1931.7.4.v20190206-174

  • Subclipse4.2.4.2018042617434.3.0.201901172050

  • Subversion JavaHL Windows Native DLL's 1.9.7.201803201521Subversion 1.11 JavaHL 1.11.1.20190116204

  • SVNKit Client Adapter 1.8.12.11.8.12.

eclipse.ini文件包含一行,其中包含语句-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni下JavaHL 的路径-vmargs

我正在 Ubuntu 16.04 上工作。我已经尝试过,但没有成功:

  • 通过市场卸载并重新安装 subclipse

  • 卸载并重新安装 subclipse 通过Help>Install New Software...提供指向 Subclipse 二进制文件的链接(https://dl.bintray.com/subclipse/releases/subclipse/4.3.x/https://dl.bintray.com/subclipse/releases/subclipse/latest/

  • 使用新的空工作区

  • 在同一台计算机上使用新的空工作区执行 eclipse 和 subclipse 的全新安装

我还尝试在另一台计算机上安装 subclipse(安装了 eclipse 但从未安装过 subclipse),似乎我遇到了同样的问题......

如果有人能给我一些关于这里出了什么问题或如何解决这个问题的见解,我将不胜感激,

提前致谢!

塞巴斯蒂安

小智 3

我终于找到了解决这个问题的方法。

我执行了全新安装(在删除了与 eclipse 相关的所有文件之后 - 其中显然包括安装 eclipse 的文件夹,还包括目录中的.p2.subversion文件夹,不包括我没有删除任何文件的工作区)并通过>home安装了 subclipse ,提供Subclipse 先前版本的链接,即 Subclipse 4.2 ( https://dl.bintray.com/subclipse/releases/subclipse/4.2.x/ )。到目前为止,一切都恢复正常。HelpInstall New Software...

我认为遇到与我相同问题的人也可以通过更简单的方式解决此问题,方法是恢复上次更新之前的安装(避免执行全新的安装...)Help,然后选择最后安装并单击。然而,我无法做到这一点,因为我修改了一些文件,而这些文件似乎是 Eclipse 执行此操作所必需的。所以我不确定第二种方法是否有效......About Eclipse IDEInstallation DetailsInstallation Historyrevert

即使这是解决这个问题的一种方法,我也不明白当前的 Subclipse 版本(4.3)出了什么问题。特别是这是当前版本已知并报告的问题(但在这种情况下,我没有找到任何文档或提出的问题......)或与我使用的配置或我所做的事情相关的问题?!如果有人对此有任何想法,我很乐意理解:)