Eclipse插件开发常见问题之编译运行正常但打包发布时无法显示

Eclipse插件开发常见问题之编译运行正常但打包发布时无法显示

   今天在开发完插件后准备打包发布到单独的Eclipse运行环境时发现开发的程序界面无法显示??郁闷了2个小时,才调试出来问题所在,现把自己开发打包的心得与大家分享一下先,希望与有经验的兄弟讨论。

   先说一下今天问题的具体情况:

程序简介:
1、开发了一个有Editor界面的插件程序(SWT风格的,关于SWT可以参看我blogjava的文章http://www.blogjava.net/hengheng123456789)
2、由于项目需要修改了Eclipse的部分源代码,并重新编辑加入项目中
3、使用了第三方的可视化开发SWT界面的插件程序

问题:
1、在开发环境进行运行和调试均无问题
2、导出成Eclipse插件包也无错误提示
3、发布到单独的Eclipse运行环境进行运行时,无法显示所开发的Editor界面,只显示了一个Eclipse自身Editor的框架(郁闷!)

解决方案:
   经过多方查找(差点重装系统),终于发现原来是修改的Eclipse源代码的祸(倒不是修改的错),是我在插件编辑环境时引用了修改的Eclipse源代码项目,但在打包发布时没有将修改的Eclipse源代码一同打进同一个包中,但在程序插件配置文件中已经包含了修改的Eclipse源代码路径,所以在单独运行时找不到这个路径,显示不出来所开发的Editor界面。

   经过这一番折腾,颇有心得,现总结以前在打包发布插件的一起列举如下,希望对大家有所帮助!

1、打包发布前一定要把需要引用的非Eclipse包添加入(编辑Plugin.xml文件的编辑界面)Build标签页的Extra Classpath Entries项(选择Add JARs...按钮进行添加)
2、需要引用的非Eclipse包也要添加入(编辑Plugin.xml文件的编辑界面)Runtime标签页的Classpath项(选择Add...按钮进行添加)
3、非Eclipse包添加后记住,要察看项目的Java Build Path中的Libraries是否报错,可能是因为以上两个步骤把包加入到Plug-in Dependencies库中了,但在原来的Classpath中也包含这些包,出现了重复引用,直接删除原来的Classpath引用即可
4、保证在打包发布时,引用的包只有JRE System Library和Plug-in Dependencies,即除了JRE外,其他所引用的包全部应当在Plug-in Dependencies库中,这样导出的插件包程序才能够找到这些包!
5、发布到新的Eclipse环境下运行前要必须清空eclipse/configuration目录下除config.ini文件外的其他全部文件。(这是因为Eclipse的运行机制是:如果configuration目录中有编辑好的Eclipse插件,则直接运行configuration目录中的插件程序,否则把plugin目录中的文件编辑到configuration目录中,再运行!)

   目前我在开发中遇到的问题就是这些,希望大家予以补充和更正,谢谢!

你可能感兴趣的:(Eclipse插件开发常见问题之编译运行正常但打包发布时无法显示)