我在尝试更新Eclipse时遇到错误!
这是错误日志 在“安装下载0”
期间发生内部错误java.lang.IllegalArgumentException:比较方法违反了其一般合同! 在java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835) at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453) at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:392) 在java.util.ComparableTimSort.sort(ComparableTimSort.java:191) 在java.util.ComparableTimSort.sort(ComparableTimSort.java:146) 在java.util.Arrays.sort(Arrays.java:472) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorSelector.hasValidMirror(MirrorSelector.java:319) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.downloadArtifact(SimpleArtifactRepository.java:577) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:680) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.getArtifact(MirrorRequest.java:260) 在org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transferSingle(MirrorRequest.java:235) at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.transfer(MirrorRequest.java:191) 在org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest.perform(MirrorRequest.java:122) at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.getArtifact(SimpleArtifactRepository.java:664) at org.eclipse.equinox.internal.p2.artifact.repository.simple.DownloadJob.run(DownloadJob.java:63) 在org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
有人知道如何解决这个问题吗?
由于
答案 0 :(得分:4)
之前发生过这种情况,现在我有Eclipse Juno Release,我没有遇到过这样的问题。
可能的解决方法:
出现此错误的原因是,当与JDK> = 1.7一起使用时,Eclipse中存在一个小错误
要解决它,您可以用JDK 1.6替换JDK 1.7(当然更改环境变量,PATH等)
(OR)
退出/关闭所有Active Eclipse IDE窗口,进程,...
然后打开Eclipse Installation文件夹并检查“eclipse.ini”文件
您可能会看到在启动期间启动Eclipse IDE所需的一些配置条目
现在复制粘贴“eclipse.ini”文件中“-vmargs”下面的(系统属性)条目:
-Djava.util.Arrays.useLegacyMergeSort=true
保存!
现在打开Eclipse并执行更新,它应该正常完成
然后您可以从“eclipse.ini”配置文件中删除Line。
我希望即使使用JDK 1.7,你也不会在Eclipse Juno Release中遇到任何这样的错误。
问题的可能根本原因:JDK 1.7中的 TimSort 算法