Eclipse 2024-12 버전에서 SVN 4.X 버전이 정상적으로 동작하지 않는 문제
발생 오류 java.lang.NoClassDefFoundError: org/eclipse/compare/internal/TabFolderLayout
java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/eclipse/compare/internal/TabFolderLayout at org.eclipse.team.svn.core.svnstorage.SVNRepositoryLocation.acquireSVNProxy(SVNRepositoryLocation.java:632) at org.eclipse.team.svn.core.operation.local.RemoteStatusOperation.runImpl(RemoteStatusOperation.java:152) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.operation.CompositeOperation.runImpl(CompositeOperation.java:99) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:40) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90) at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber.findChanges(AbstractSVNSubscriber.java:386) at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber$UpdateStatusOperation2.run(AbstractSVNSubscriber.java:430)atorg.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118)atorg.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:156)atorg.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:151)atorg.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber2.run(AbstractSVNSubscriber.java:430) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:156) at org.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:151) at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber2.run(AbstractSVNSubscriber.java:430)atorg.eclipse.team.svn.core.utility.ProgressMonitorUtility.doSubTask(ProgressMonitorUtility.java:118)atorg.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:156)atorg.eclipse.team.svn.core.operation.AbstractActionOperation.protectStep(AbstractActionOperation.java:151)atorg.eclipse.team.svn.core.synchronize.AbstractSVNSubscriberUpdateStatusOperation.runImpl(AbstractSVNSubscriber.java:428) at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:82) at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:40) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90) at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:81) at org.eclipse.team.svn.core.synchronize.AbstractSVNSubscriber.refresh(AbstractSVNSubscriber.java:243) at org.eclipse.team.svn.core.synchronize.UpdateSubscriber.refresh(UpdateSubscriber.java:75) at org.eclipse.team.core.subscribers.Subscriber.refresh(Subscriber.java:471) at org.eclipse.team.core.subscribers.SubscriberMergeContext.refresh(SubscriberMergeContext.java:88) at org.eclipse.team.core.mapping.provider.SynchronizationContext.refresh(SynchronizationContext.java:105) at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.doRefresh(RefreshModelParticipantJob.java:81) at org.eclipse.team.internal.ui.synchronize.RefreshParticipantJob.run(RefreshParticipantJob.java:332) at org.eclipse.team.internal.ui.synchronize.RefreshModelParticipantJob.run(RefreshModelParticipantJob.java:136) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) Caused by: java.lang.NoClassDefFoundError: org/eclipse/compare/internal/TabFolderLayout at org.eclipse.team.svn.ui.UIOptionProvider.getCredentialsPrompt(UIOptionProvider.java:48) at org.eclipse.team.svn.core.svnstorage.SVNRepositoryLocation.newProxyInstance(SVNRepositoryLocation.java:848) at org.eclipse.team.svn.core.svnstorage.SVNRepositoryLocation.acquireSVNProxy(SVNRepositoryLocation.java:614) ... 28 more Caused by: java.lang.ClassNotFoundException: org.eclipse.compare.internal.TabFolderLayout cannot be found by org.eclipse.team.svn.ui_4.8.0 at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:562) at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:557) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:434) at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:174) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528) ... 31 more
여러가지 방법이 있지만 최신 Subversive로 업그레이드 하는것을 권장한다.
일단 기존 설치된 Subversive를 제거해야한다.
메뉴에서 Help
- About Eclipse IDE
를 선택하면 아래와 같은 화면이 나온다.
아래쪽 Installation Details
를 선택한다.
기존에 설치된 Subversive
관련 패키지들을 모두 제거한다.
모두 제거가 되면 이클립스가 재실행 된다.
이후에 최신버전으로 재 설치하면 된다.
최신버전은
https://download.eclipse.org/technology/subversive/updates/release/latest/index.html
링크에서 확인할 수 있으며 설치 방법은 아래와 같다.
메뉴에서 Help
- Install New Software
를 선택한 후 아래 레포지토리를 등록한다.
https://download.eclipse.org/technology/subversive/updates/release/latest
그리고 최신버전의 Subversive를 설치하면 된다.