Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse插件在调试时工作,但在安装时不工作_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java Eclipse插件在调试时工作,但在安装时不工作

Java Eclipse插件在调试时工作,但在安装时不工作,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我编写了一个Eclipse插件,它在任何文件或文件夹(例如,在navigator视图中)上显示右键单击菜单选项。对于选定的每个文件(以及选定目录中的每个文件),插件计算并显示文件的MD5、SHA-1、SHA-256、SHA-384或SHA-512哈希。当我在开发过程中进行调试时,插件可以完美地工作 如果我使用site.xml创建站点,将其放在服务器上,然后安装到Eclipse(安装很好),我会看到菜单。我可以计算并显示所选文件的哈希值,但对于所选文件夹它就是不起作用。代码中绝对没有任何变化;它总

我编写了一个Eclipse插件,它在任何文件或文件夹(例如,在navigator视图中)上显示右键单击菜单选项。对于选定的每个文件(以及选定目录中的每个文件),插件计算并显示文件的MD5、SHA-1、SHA-256、SHA-384或SHA-512哈希。当我在开发过程中进行调试时,插件可以完美地工作

如果我使用site.xml创建站点,将其放在服务器上,然后安装到Eclipse(安装很好),我会看到菜单。我可以计算并显示所选文件的哈希值,但对于所选文件夹它就是不起作用。代码中绝对没有任何变化;它总是在调试模式下工作,而且在我安装它时它永远不会工作

我的问题是:如何调试它?起初,我认为Eclipse的
workspace/.metadata/.log
文件会提供一些线索,但不会输出错误。我甚至尝试在中添加一些代码,将文件写入桌面,但从未创建该文件。有人知道发生了什么事,或者我应该如何着手解决这个问题吗?我以前从未经历过如此艰难的调试

供参考,是本项目。所有源代码都可以在那里查看(它可以作为Eclipse项目导入)


答案最终涉及两件事:

  • 在构建过程中,我没有包括
    lib
    目录。我使用的依赖项(ApacheCommonsCodec)没有包括在内,所以它当然不会运行
  • 在测试过程中,我尝试手动将Hasher的构建放入eclipse/插件中。我错误地认为,如果通过Eclipse接口卸载Hasher,该文件将被删除。事实并非如此。所以在上个月,我已经将一个过时的Hasher版本加载到Eclipse中。这真令人沮丧。哦,好吧。吸取的教训

  • 非常感谢所有提供帮助的人

    可能您首先在目标平台上测试了插件,只使用了
    IFIle
    特定扩展,然后添加了
    IFolder
    ,但是更新后的插件没有加载到Eclipse,因为您没有增加插件的版本,也没有使用-clean运行插件(Eclipse需要这两种扩展来重新加载插件)。在
    execute
    方法中从事件中获取所需的一切,并将它们传递给工作线程

    也不要使用IFile的
    对象实例
    IFolder
    使用:

    IFile file = (IFile)Platform.getAdapterManager().getAdapter(object, IFile.class);
    
    对于
    IFolder
    您的问题也是一样:“我的问题是:如何调试?”

    我的回答:“远程调试”

    您可能想在google上搜索这个主题,但我鼓励您阅读以下内容,当有人问我如何在第一次eclipse安装中调试代码时,我总是建议您阅读以下内容。这样做,您就可以调试代码,以防在您的第一个eclipse安装和您可能用于调试的第二个eclipse实例之间的环境中出现不同的情况(它们可能不同,具体取决于您的目标平台设置和第二个实例启动配置)


    注意:如果您的特定问题如greg所指出的是与线程相关的问题,那么在第一个实例安装中调试您的代码将是无用的。

    我在您的包中看到了问题。如果您通过任何zip软件打开jar文件,您可以看到lib和images文件夹丢失。您需要在build.properties文件中为这些文件夹添加条目。此外,如果您在进行这些更改后构建插件,则需要将库添加到类路径(额外的类路径条目),这在理想情况下应该是可行的。

    这当然是一个有趣的想法!我将尽快尝试这个方法。好的,我终于有机会尝试使用
    -clean
    运行Eclipse,但这并没有解决问题。这里还发生了一些其他问题。我刚刚尝试了这个,但不幸的是它没有解决它(您可以在上看到更改)。好的,我也解决了这个问题(提交)。然而,它仍然不起作用!这太奇怪了。为什么它适用于文件而不适用于文件夹?我刚刚在EclipseKepler上测试了您的项目,它运行良好(无论是在IDE中还是导出时)。顺便说一句,您的项目缺少MANIFEST.MF(需要运行/导出)。这终于奏效了!我以为我已经包括了lib目录,但我没有。谢谢