我编写了一个Eclipse插件,在任何文件或文件夹(例如,在导航器视图中)上显示右键单击菜单选项。对于选定的每个文件(以及选定目录内的每个文件),该插件会计算并显示文件的MD5,SHA-1,SHA-256,SHA-384或SHA-512散列。当我在开发过程中进行调试时,该插件完美工作。Eclipse插件在调试时工作,但在安装时不起作用
如果我使用site.xml的网站,把它放在我的服务器上,然后安装到Eclipse(它安装得很好),我看到菜单。我可以计算并显示所选文件的散列,但仅对不适用于所选文件夹的。代码中绝对没有任何改变;它总是以调试模式工作,并且在我安装它时永远不会工作。
我的问题是:我该如何调试?起初,我认为Eclipse的workspace/.metadata/.log
文件会提供一些线索,但不会输出错误。我甚至试图添加一些代码,将文件写入桌面,但该文件永远不会被创建。有没有人有任何线索发生了什么事情,或者我应该如何解决这个问题?我从来没有过这么难的时间调试!
作为参考,https://github.com/gfairchild/eclipse-hasher是该项目。所有的源代码都可以在那里看到(它可以作为Eclipse项目导入)。
答案最终涉及两两件事:
- 我并没有包括在生成过程中
lib
目录。我使用的依赖项(Apache Commons Codec)未包含在内,因此它当然不会运行。 - 在测试过程中,我曾尝试手动将构建的Hasher插入到eclipse/plugins中。我错误地认为,如果我通过Eclipse界面卸载了Hasher,该文件将被删除。事实并非如此。所以在上个月,我有一个旧版本的Hasher被加载到Eclipse中。这令人难以置信的令人沮丧。好吧。学过的知识。
非常感谢大家提供的帮助!
我刚刚在Eclipse Kepler上测试了你的项目,它工作正常(在IDE和导出时都是如此)。顺便说一句,你的项目缺少MANIFEST.MF(需要运行/导出)。 –