我刚刚遇到了 Apache Ivy 错误 java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
( link ) 在执行 Ant 任务时 ivy:config
今天早上我尝试安装 LibraryFolder ClasspathContainer插件到我的 Eclipse (STS 3.6.1):每次我尝试执行 ivy:retrieve
时安装它都会导致上述错误。
更糟糕的是,我尝试从 Eclipse Marketplace 安装 IvyDE
插件,但 Eclipse 开始因大量错误而崩溃,包括 JVM 崩溃。卸载两个插件都没有解决。我尝试了一个新的工作区和一个空白的 Eclipse 安装,但我最终不得不安装我以前的 Eclipse 插件。
我整个上午都在试图解决这个问题,但我不得不恢复之前未提交的工作区和 Eclipse 安装,所以现在除了上述错误之外,我的一切都正常工作。直到今天早上,Ivy 工作正常。
我的每个 Ant 任务都在与 Eclipse 相同的 JRE 中运行(C:\Program Files\Java\jdk1.7.0_60\jre\bin\server\jvm.dll
根据 sts.ini
) 因为我经常使用 eclipse.refreshLocal
任务。虽然我可以通过在标准 JRE 中删除/注释 eclipse.refreshLocal
任务 和 运行 Ant-Ivy 任务来解决这个问题,但我想知道是否有解决方法消除错误,可能是通过删除工作区元数据中的关键文件。
据我所知,一个 Ivy 方法被传递给一个对象,从它的名字可以猜到它是 Eclipse 配置的一部分。在等待错误修复的同时,我的问题是如何进一步调查此 org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
参数的性质?
最佳答案
这看起来与 Error at building model of new Gradle project for libgdx 有关- 其中包括适用于 Gradle IDE 的解决方法,因此也许它对您有用。
相关的 Eclipse 错误是 https://bugs.eclipse.org/bugs/show_bug.cgi?id=445122
[由 OP 编辑] 为了简化有同样问题的人的生活我会发布链接的内容并接受答案
只需将以下行添加到 eclipse.ini
-Dorg.eclipse.swt.browser.IEVersion=10001
-Dosgi.configuration.area.default=null
-Dosgi.user.area.default=null
-Dosgi.user.area=@user.home
-Dosgi.instance.area.default=null
关于java - 摆脱无法转换为 String 的 org.eclipse.osgi.internal.framework.EquinoxConfiguration$1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26279570/