所以我为我的eclipse视图插件制作了几个图像。完美的工作。我第二天醒来,程序现在告诉我,它再也找不到那些文件了。文件肯定仍然在我离开它们的同一个地方,我没有在24小时内触及代码。我现在一直在弄乱这个小时,我甚至不知道从哪里开始调试这个,因为我的程序昨天很好。
Sample.gif位于我的插件的“icons”文件夹中。我已经尝试将它移动到src文件夹,这也不起作用。
错误讯息:
org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: sample.gif (No such file or directory))
代码(当我删除此行以及使用testImage的所有代码行时,插件再次运行):
Image testImage = new Image(null, "sample.gif");
任何人都知道可能导致这种情况的原因,或者我可以为某人提供哪些信息来指导我如何调试?
答案 0 :(得分:1)
问题很可能与当前目录的位置有关。当您使用类似“sample.gif”的路径名时,打开文件时的正常行为是查看当前目录。如果使用不同的当前目录运行应用程序,则应用程序将在其他位置查找该文件。
然而我对目前的目录概念感到困惑
以下是一些描述这个概念的网页:
图片应该放在哪里?
如果您只是想在eclipse中运行应用程序,那么您可以将它们放在任何地方......并确保应用程序的Eclipse启动程序配置将当前目录设置为一致的位置。 (您当前的问题很可能是由于应用程序启动程序使用了父Eclipse的当前目录,这可能取决于您启动Eclipse时的位置...请参阅上面的链接页面。)
如果要以某种形式导出构建的应用程序,以便用户可以在Eclipse之外使用它,那么答案取决于应用程序的性质以及如何在用户的计算机上安装它。 (可能的解决方案是将图像放入应用程序的JAR文件中,并使用ClassLoader.getResource方法通过类路径找到它们。)