eclipse插件开发项目的启动程序如何加载\处理;plugin.xml“;文件

eclipse插件开发项目的启动程序如何加载\处理;plugin.xml“;文件,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我想弄清楚如何将文件放在项目的根文件夹中,并在运行时使用它,这样就可以访问它 这样做(将文件放在根文件夹中)的问题是,默认情况下,这意味着: 它不在项目的类路径中 它不会复制到bin(输出)文件夹 我看不出我对文件的修改将如何影响运行进程 据我所知,eclipse中有一种类似的机制,其作用是相同的: 插件开发项目的根文件夹中有一个文件——“Plugin.xml”。 在文件中进行更改时,如果没有生成项目或将其复制到bin文件夹,则在运行该项目时会发生更改 示例: 在“plugin.xml”中添加一

我想弄清楚如何将文件放在项目的根文件夹中,并在运行时使用它,这样就可以访问它

这样做(将文件放在根文件夹中)的问题是,默认情况下,这意味着:

  • 它不在项目的类路径中
  • 它不会复制到bin(输出)文件夹
  • 我看不出我对文件的修改将如何影响运行进程

    据我所知,eclipse中有一种类似的机制,其作用是相同的: 插件开发项目的根文件夹中有一个文件——“Plugin.xml”。
    在文件中进行更改时,如果没有生成项目或将其复制到bin文件夹,则在运行该项目时会发生更改

    示例:
    在“plugin.xml”中添加一个扩展点并点击“RUN”,它将立即发生

    有人知道这个机制在eclipse中是如何工作的吗

    编辑-澄清:
    我感兴趣的是eclipse插件开发项目的启动程序如何加载\处理“Plugin.xml”文件。

    我假设,当您说要将文件放入“项目的根文件夹”时,您指的是正在开发的插件,然后在运行时希望访问该文件。如果我没有正确理解该问题,请不要投票否决我,但根据我的理解,以下是一些步骤:

  • 打开MANIFEST.MF文件/MANIFEST.MF,这将打开一个多页编辑器
  • 单击build选项卡(右起第三个)
  • 在这里,您可以指定插件中希望生成器在运行时包含哪些资源。您会注意到plugin.xml已经被选中,这就是为什么每次都会更新扩展
  • 检查此编辑器页面上的资源,以查找您希望能够在运行时加载和访问的资源。在幕后,这是更新build.xml,内部构建器使用它来确定在构建/导出插件时要构建/添加哪些源 你已经做了一件事,这就是你如何获得对该文件的访问权,你为你的插件获取捆绑包,用文件路径调用getEntryMethod,然后在inputstream中打开,从那里你可以将它作为文件或任何你想要的东西加载。下面的代码示例:希望这有帮助-Duncan

    Bundle myBundle=Platform.getBundle(“com.mycompany.myplugin.id”)

    InputStream in=myBundle.getEntry(“/myfile.txt”).openStream()

    谢谢你的回答,但这回答了我构建过程是如何工作的。我仍然不明白这个机制是如何运作的,甚至连构建它都没有,只是吃午饭而已。顺便说一句,我不是在开发插件,而是在创建一种新类型的项目。因此,通过理解“插件开发项目”中的机制是如何工作的,我可以在我的项目中实现它。你正在创建一个新类型的项目,这意味着你正在创建一个新的项目性质?此项目类型将用作EclipseIDE或rcp应用程序中的工具吗?我不确定你的理解水平在哪里,你是否创建了一个新的项目性质?这是一个RCP应用程序,我创建了一个新的项目性质。我一直在努力理解一个众所周知的机制是如何工作的——所以我不需要再发明轮子了。现在我有一个暂时的解决方案:我创建了一个生成器,它将根文件夹中的文件复制到bin文件夹中,以便它将位于类路径中——但eclipse在“插件开发”中不是这样处理的项目