Eclipse Mars:ANT任务引用缺少的SWT库

我刚刚升级到Eclipse Mars,突然我的ANT任务正常工作与Lunar抱怨:

The archive: C:/Program%20Files/eclipse_lunar/plugins/org.eclipse.swt.win32.win32.x86_64_3.104.0.v20150528-0211.jar which is referenced by the classpath, does not exist. 

这很奇怪,因为

  • 我确定没有.classpath文件引用这个jar
  • jar实际上存在于该路径下

经过一些研究后,它似乎与https://bugs.eclipse.org/bugs/show_bug.cgi?id=470390有关

任何人都有解决方案来运行我的ANT(除了再次使用月球)?

这对我有用:

 mklink /DD:\Program%20Files "D:\Program Files" 

将eclipse程序目录移动到另一个没有空格的文件夹中

  • 例如,简单到c:\eclipse

问题:

错误信息:

归档:C:/ Program%20Files%20(x86)/Eclipse%20Mars/plugins/org.eclipse.swt.win32.win32.x86_64_3.104.0.v20150528-0211.jar由类路径引用,不存在。

问题是Eclipse Mars被下载并提取到其名称中包含的文件夹下。 在上面的错误消息中,路径包含文件夹名称,其间有空格并显示为%20

解:

为了解决这个问题,请使用下面提到的任何解决方法,

  • 删除存储Eclipse的任何目录中的所有空格。
    例如:将My Folder重命名为MyFolder
  • 将你的日食移到任何驱动器的根部(C:或D:或F:等)
    例如: D:\eclipse-jee-mars-R-win32-x86_64
  • 使用mklink命令在Windows中创建符号链接文件夹,

    mklink /d D:\My%20Folder "D:\My Folder"

您将收到以下消息:

symbolic link created for D:\My%20Folder <<===>> D:\My Folder

注意:要创建符号链接,您需要在提升的命令提示符下运行上述命令。

现在您可以运行ant脚本而不会出现上述错误。 这是一个向eclipse报告的错误,将在未来版本中修补。

一个可能的解决方案是创建文件夹“C:\ Program%20Files \ eclipse_lunar \ plugins”并从“C:\ Program Files \ eclipse_lunar \ plugins”中放置实际* .jar的副本