eclipse 4.6使用subversive無法查看SVN Info解決辦法

Spring官方Spring Tool Suite出了新品,迫不及待的下載了4.6版本,體驗不錯。

而公司目前的版本管理仍然使用的SVN,eclipse4.6默認不再包含svn客戶端插件,無疑必然是選用官方的subversive了。

裝完後,發現SVN Info無法查看,提示有無效的值。

查看日誌:

java.lang.NoSuchMethodError: org.eclipse.ui.internal.util.Util.getAdapter(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;ntat org.eclipse.team.svn.ui.info.LocalInfoPage.createContents(LocalInfoPage.java:78)ntat org.eclipse.jface.preference.PreferencePage.createControl(PreferencePage.java:241)ntat org.eclipse.jface.preference.PreferenceDialog.createPageControl(PreferenceDialog.java:1430)ntat org.eclipse.jface.preference.PreferenceDialog$9.run(PreferenceDialog.java:1197)ntat org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)ntat org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)ntat org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)ntat org.eclipse.jface.preference.PreferenceDialog.showPage(PreferenceDialog.java:1189)n

查google,知道Bug 478755,原來官方刪掉了這個工具類方法。

查最新的subversive得知穩定版為3.0,最新版本為4.0,安裝4.0後,問題任然存在。且引入了新的問題:

java.lang.IllegalArgumentException: Argument cannot be nullntat org.eclipse.swt.SWT.error(SWT.java:4503)ntat org.eclipse.swt.SWT.error(SWT.java:4437)ntat org.eclipse.swt.SWT.error(SWT.java:4408)ntat org.eclipse.swt.custom.StyledText.setText(StyledText.java:10069)ntat org.eclipse.team.svn.ui.composite.CommentComposite.createControls(CommentComposite.java:302)ntat org.eclipse.team.svn.ui.composite.CommentComposite.<init>(CommentComposite.java:125)ntat org.eclipse.team.svn.ui.panel.local.CommitPanel.createControlsImpl(CommitPanel.java:217)ntat org.eclipse.team.svn.ui.panel.AbstractDialogPanel.createControls(AbstractDialogPanel.java:114)ntat org.eclipse.team.svn.ui.dialog.DefaultDialog.createMainPanel(DefaultDialog.java:329)ntat org.eclipse.team.svn.ui.dialog.DefaultDialog.createContents(DefaultDialog.java:190)n

遂換3.0,問題依舊,查LocalInfoPage.java:78行

this.resource = (IResource)Util.getAdapter(this.getElement(), IResource.class);n

參考eclipse.platform.ui.git這次提交修改的內容,將其改為

this.resource = this.getElement().getAdapter(IResource.class);n

編譯,將類替換入org.eclipse.team.svn.ui_3.0.2.I20151028-1700.jar中,問題解決。

eclipse官方已fixed該bug:bugs.eclipse.org/bugs/s

最新的Stable Build:eclipse.org/subversive/


推薦閱讀:

一個項目在Linux和Windows上同時開發,如何進行版本控制?
SVN repository found,關於AWVS掃描出的SVN漏洞?
xcode中的project.pbxproj衝突怎麼解決
請問VisualSVN新建版本庫:FSFS和VDFS存儲方式的區別?
集中式版本控制系統和分散式版本控制系統有什麼區別呢?

TAG:Eclipse | SVNSubversion |