摆脱无法转换为String的org.eclipse.osgi.internal.framework.EquinoxConfiguration $ 1
我刚刚遇到Apache Ivy bug java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
在执行Ant任务ivy:config
时java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
( link ) ivy:config
今天早上我尝试将LibraryFolder ClasspathContainer插件安装到我的Eclipse(STS 3.6.1)中:每次我尝试执行ivy:retrieve
时安装它都会导致上述错误。
更糟糕的是,我尝试从Eclipse Marketplace安装IvyDE
插件,Eclipse开始崩溃,包括JVM崩溃等多种错误。 卸载这两个插件没有修复。 我尝试了一个新的工作区和一个空白的Eclipse安装,但最终我不得不安装我以前的Eclipse插件。
我花了一整个上午试图修复这个烂摊子,但我不得不恢复以前未提交的工作空间和Eclipse安装,所以现在除了上面的错误之外我还能正常工作。 常春藤一直工作到今天早上。
我的每个Ant任务都运行在与Eclipse相同的JRE中( C:\Program Files\Java\jdk1.7.0_60\jre\bin\server\jvm.dll
)因为我使用了很多eclipse.refreshLocal
任务。 虽然我可以通过删除/评论eclipse.refreshLocal
任务并在标准JRE中运行Ant-Ivy任务来解决问题,但我想问是否有解决方法来摆脱错误,可能是通过删除工作区中的密钥文件元数据。
正如我所读到的,一个Ivy方法被传递一个对象,从它的名字猜测,它是Eclipse配置的一部分。 虽然我将等待修正错误,但我的问题是如何更多地研究这个org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
参数的性质?
这看起来与构建libgdx的新Gradle项目模型时的Error有关 – 其中包含适用于Gradle IDE的解决方法,因此它可能适合您。
相关的Eclipse bug是https://bugs.eclipse.org/bugs/show_bug.cgi?id=445122
[由OP编辑]以简化具有相同问题的人的生活我将发布链接的内容并接受答案
只需eclipse.ini
添加到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