下午好,
到目前为止,我一直在使用 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-193
至 1.7.4.v20190206-174
Subclipse
来自 4.2.4.201804261743
至 4.3.0.201901172050
Subversion JavaHL Windows Native DLL's 1.9.7.201803201521
至 Subversion 1.11 JavaHL 1.11.1.20190116204
SVNKit Client Adapter 1.8.12.1
至 1.8.12.
eclipse.ini
文件包含一行 JavaHL 路径 -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
下-vmargs
陈述。我正在 Ubuntu 16.04 上工作。我已经尝试过,但没有成功:
Help
卸载并重新安装 subclipse > Install New Software...
提供指向 Subclipse 二进制文件的链接(https://dl.bintray.com/subclipse/releases/subclipse/4.3.x/
或 https://dl.bintray.com/subclipse/releases/subclipse/latest/
)我还尝试在另一台计算机上安装 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/