Desabilitar Subversion no JDeveloper

O JDeveloper 11.1.1.6 não trabalha muito bem com o subversion 1.7, pois essa versão não cria uma pasta .svn para cada subpasta e fica apenas um .svn na raiz. Ao executar algumas operações recebi o seguinte erro:

java.lang.OutOfMemoryError: Java heap space
 at java.util.Arrays.copyOf(Arrays.java:2367)
 at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)
 at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)
 at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415)
 at java.lang.StringBuffer.append(StringBuffer.java:237)
 at org.tmatesoft.svn.core.SVNErrorMessage.getFullMessage(SVNErrorMessage.java:257)
 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:58)
 at org.tmatesoft.svn.core.internal.wc.admin.SVNAdminAreaFactory.open(SVNAdminAreaFactory.java:163)
 at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.doOpen(SVNWCAccess.java:364)
 at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:272)
 at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.open(SVNWCAccess.java:265)
 at org.tmatesoft.svn.core.internal.wc.admin.SVNWCAccess.openAnchor(SVNWCAccess.java:145)
 at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:320)
 at org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:296)
 at org.tmatesoft.svn.core.javahl.SVNClientImpl.status(SVNClientImpl.java:278)
 at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:480)
 at org.tigris.subversion.svnclientadapter.svnkit.SvnKitClientAdapter.getStatus(SvnKitClientAdapter.java:141)
 at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getStatus(AbstractJhlClientAdapter.java:466)
 at oracle.jdevimpl.vcs.svn.SVNURLInfoCacheSimpleStrategy.getURLInfo(SVNURLInfoCacheSimpleStrategy.java:79)
 at oracle.jdevimpl.vcs.svn.SVNURLInfoCache.getLastChangedRevision(SVNURLInfoCache.java:69)
 at oracle.jdevimpl.vcs.svn.SVNOverlayProducer.createTooltip(SVNOverlayProducer.java:240)
 at oracle.jdevimpl.vcs.svn.SVNOverlayProducer.getDecoratedOverlay(SVNOverlayProducer.java:144)
 at oracle.jdevimpl.vcs.svn.SVNOverlayProducer.produceOverlay(SVNOverlayProducer.java:113)
 at oracle.jdeveloper.vcs.spi.VCSOverlayItemProducer.produceOverlays(VCSOverlayItemProducer.java:83)
 at oracle.jdeveloper.vcs.spi.VCSOverlayItemProducer.getOverlayItems(VCSOverlayItemProducer.java:65)
 at oracle.jdeveloper.vcs.spi.VCSNodeOverlayTracker.getCompositeElementOverlay(VCSNodeOverlayTracker.java:318)
 at oracle.jdeveloper.vcs.spi.VCSNodeOverlayTracker.getCompositeElementOverlay(VCSNodeOverlayTracker.java:359)
 at oracle.jdeveloper.vcs.spi.VCSNodeOverlayTracker.getOverlays(VCSNodeOverlayTracker.java:261)
 at oracle.ide.explorer.IconOverlayTracker.processPendingNodes(IconOverlayTracker.java:574)
 at oracle.ide.explorer.IconOverlayTracker.access$1400(IconOverlayTracker.java:69)
 at oracle.ide.explorer.IconOverlayTracker$7.run(IconOverlayTracker.java:487)
 at java.util.TimerThread.mainLoop(Timer.java:555)
 java.lang.IllegalStateException: Timer already cancelled.
 at java.util.Timer.sched(Timer.java:397)
 at java.util.Timer.schedule(Timer.java:193)
 at oracle.ide.explorer.IconOverlayTracker._scheduleUpdateTask(IconOverlayTracker.java:498)
 at oracle.ide.explorer.IconOverlayTracker.scheduleUpdateTask(IconOverlayTracker.java:449)
 at oracle.ide.explorer.IconOverlayTracker.repaintConsumerOverlays(IconOverlayTracker.java:432)
 at oracle.ide.explorer.IconOverlayTracker.access$000(IconOverlayTracker.java:69)
 at oracle.ide.explorer.IconOverlayTracker$2.stateChanged(IconOverlayTracker.java:114)
 at oracle.ide.explorer.IconOverlayTracker$NodeWatcher.setVisibleNodes(IconOverlayTracker.java:843)
 at oracle.ide.explorer.IconOverlayTracker$NodeWatcher.removeInternalListeners(IconOverlayTracker.java:860)
 at oracle.ide.explorer.IconOverlayTracker$NodeWatcher.access$2300(IconOverlayTracker.java:713)
 at oracle.ide.explorer.IconOverlayTracker$NodeWatcher$ParentListener.ancestorRemoved(IconOverlayTracker.java:919)
 at javax.swing.AncestorNotifier.fireAncestorRemoved(AncestorNotifier.java:107)
 at javax.swing.AncestorNotifier.propertyChange(AncestorNotifier.java:233)
 at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
 at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
 at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
 at java.awt.Component.firePropertyChange(Component.java:8382)
 at javax.swing.JComponent.removeNotify(JComponent.java:4765)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at oracle.ideimpl.docking.TitledPanel.removeNotify(TitledPanel.java:267)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at java.awt.Container.removeNotify(Container.java:2800)
 at javax.swing.JComponent.removeNotify(JComponent.java:4761)
 at javax.swing.JRootPane.removeNotify(JRootPane.java:764)
 at java.awt.Container.removeNotify(Container.java:2800)
 at java.awt.Window.removeNotify(Window.java:782)
 at java.awt.Frame.removeNotify(Frame.java:1041)
 at java.awt.Window$1DisposeAction.run(Window.java:1190)
 at java.awt.Window.doDispose(Window.java:1205)
 at java.awt.Window.dispose(Window.java:1147)
 at oracle.ide.IdeMainWindow.close(IdeMainWindow.java:408)
 at oracle.ideimpl.MainWindowImpl.close(MainWindowImpl.java:605)
 at oracle.ide.IdeMainWindow$1.close(IdeMainWindow.java:327)
 at oracle.ide.cmd.ExitCommand.doit(ExitCommand.java:434)
 at oracle.ide.controller.CommandProcessor.invoke(CommandProcessor.java:317)
 at oracle.jdevimpl.merge.MergeExitCommand.doit(MergeExitCommand.java:48)
 at oracle.ide.controller.CommandProcessor.invoke(CommandProcessor.java:317)
 at oracle.ide.IdeCore.quit(IdeCore.java:786)
 at oracle.ide.Ide.quit(Ide.java:604)
 at oracle.ide.Ide.quit(Ide.java:611)
 at oracle.ideimpl.extension.preference.ConfigureExtensionCommand.doit(ConfigureExtensionCommand.java:113)
 at oracle.ide.controller.CommandProcessor.invoke(CommandProcessor.java:317)
 at oracle.ide.controller.IdeAction.performAction(IdeAction.java:556)
 at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:897)
 at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:501)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
 at org.java.ayatana.ApplicationMenu$4.run(ApplicationMenu.java:486)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
 at java.awt.EventQueue.access$000(EventQueue.java:102)
 at java.awt.EventQueue$3.run(EventQueue.java:662)
 at java.awt.EventQueue$3.run(EventQueue.java:660)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

Para que o JDeveloper pudesse trabalhar adequadamente, foi necessário desabilitar o subversion do JDeveloper. Para isso, acesse o menu Versioning, Configure e desmarque o checkbox com o suporte ao subversion.

Configure Versioning
Configure Versioning

Clique em OK e Reinicie o JDeveloper. Com isso o erro irá desaparecer!

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6