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

标签 eclipse svn subclipse svnkit

下午好,

到目前为止,我一直在使用 Eclipse 和 Subclipse(使用 JavaHL)几个月没有任何问题。 部分插件更新后(包括 Subclipse)昨天(即 13/03/19), 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)

这里还有关于 session 数据的信息:
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

昨天更新了以下元素:
  • Marketplace Client来自 1.7.2.v20180829-1931.7.4.v20190206-174
  • Subclipse来自 4.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文件包含一行 JavaHL 路径 -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni-vmargs陈述。

    我正在 Ubuntu 16.04 上工作。我已经尝试过,但没有成功:
  • 通过市场卸载并重新安装 subclipse
  • 通过 Help 卸载并重新安装 subclipse > 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),似乎我遇到了同样的问题......

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

    提前致谢!

    塞巴斯蒂安

    最佳答案

    这本身不是问题,文档中或多或少地解释了:

    https://github.com/subclipse/subclipse/wiki

    当前版本的 Subclipse 支持 SVN 1.11 或 1.10。在除 Windows 之外的每个操作系统上,您都负责提供 native 库(请参阅上页的 JavaHL 链接)。您的错误是您安装了 1.11 支持,但安装了 SVN 1.9.x native 库。您没有提到您的操作系统,但一种解决方案是将安装的 SVN 客户端更新到 1.11。

    正如页面上进一步指出的那样,如果您卡在 SVN 1.9.x 客户端上,那么您必须安装支持 1.9 的旧版 Subclipse 4.2.x。

    如果您可以获得 1.10,但不能获得 1.11,那么您只需卸载 1.11 JavaHL 插件并安装 1.10 插件。两者都在 Subclipse 更新站点上。

    关于eclipse - Subclipse:更新后 SVN 出错(无法创建 SVN 首选项页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55165256/

    相关文章:

    windows - 如何查看谁在 Windows 文件服务器上打开了文件

    svn - 哪些文件应该添加到 svn repo 中?

    linux - Subclipse 无法加载默认的 SVN 客户端,即使一切都已正确安装

    SVN checkout 和 Subclipse 都不起作用

    JAVA测试java.lang.NoClassDefFoundError : org/junit/runner/manipulation/Filter

    java - Eclipse null 分析对类文字发出 null 类型安全警告

    svn - 你有没有从颠覆转变为善变?值得付出努力吗?

    Eclipse SVN同步问题

    java - 内存不足错误: When to "Dump HPROF file"

    java - 在 Eclipse 插件项目中使用来自普通旧 Java 项目的包