我在执行Ant任务java.lang.ClassCastException: org.eclipse.osgi.internal.framework.EquinoxConfiguration$1 cannot be cast to java.lang.String
ivy:config
(link)
今天早上我尝试将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
sts.ini
),因为我使用了很多eclipse.refreshLocal
任务。虽然我可以通过删除/评论eclipse.refreshLocal
任务和在标准JRE中运行Ant-Ivy任务来解决问题,但我在询问是否有解决方法来摆脱错误,可能是删除工作区元数据中的密钥文件。
正如我所读到的,一个Ivy方法被传递一个对象,从它的名字猜测,它是Eclipse配置的一部分。虽然我正在等待修正错误,但我的问题是如何进一步调查此org.eclipse.osgi.internal.framework.EquinoxConfiguration$1
参数的性质?
答案 0 :(得分:3)
这看起来与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