Eclipse RCP项目依赖一个简单java project的调试问题

        RCP项目依赖一个通用的java实现的公共库(单独的eclipse project), 这个公共library将通过class loader加载外部的class(实现库中的interface). 因此这个library项目不能变为eclipse plugin ,因为plugin 不能简单加载外部的class(因为eclipse classloader的层次关系)。

        网上提到的解决方案使用上级bundle的class loader加载,没有测试过。但是如果只是对动态加载的class使用上层classloader, 这些动态加载进来的classloader不能被自身已静态加载的class使用。

        后来想到利用OS的目录链接功能,将library 项目的output目录链接到rcp 项目的output目录,这样两个项目生成的class等输出文件就自动合并在一起了。通过测试,这样可以方便的调试library中的代码。

        在测试中,发现eclipse project 项目输出目录的配置中也可以指定项目外部的目录,在创建新output目录时可以通过高级选项链接到已有的系统目录(如另一个项目的output目录)。这种方式更方便一些,而且适合任意eclipse支持的操作系统。

 

        解决了合并两个项目的output后,调试就方便多了。但是部署是否还需要将library项目单独打包为jar文件后加载的rcp项目中呢。需要根据实际情况考虑。如果这个library需要单独发布,则需要单独打包(需要测试打包后的jar文件是否包括了rcp的输出内容,如果有则需要改变output目录里,重新打包)。或者rcp应用中自动包括了output目录下的内容,则发布rcp应用是可以不再需要library的jar。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值