Eclipse Bundle (包含多个src Folder) Export jar 类路径问题

 最近在进行osgi的开发中总是出现一些怪问题,比如在Eclipse中能够正常运行的osgi环境中的bundle,当导出到Equinox的环境中(离开Eclipse环境运行),总是出现一些类找不到。查看bundle jar 包中的确没有相关的编译的类存在,经过查找发现是自己的bundle包含了多个源码目录,Eclipse在导出为插件包的时候,总是发现interface目录下的相关类并没有导入到具体的包中。

后来检查MANIFIST.MF中的MANIFIST.MF视图中的Bundle-ClassPath: interface/,
 src/
,我的确把相关的包引入到classpath中了,可是还是没有在导出的jar包中看到interface中的类。jar包中只有src目录下的类。我又在build视图中查看,测试导出包的一些配置:


Eclipse Bundle (包含多个src Folder) Export jar 类路径问题
 在binary Build中勾选interface后,的确导出包中有了该package,但是里面的都是未编译的java源文件,继续转到build.properties视图中查看和在不断的尝试后的发现问题的根源在这里:

最开始是 source.. =src,

只有有src/这个目录,经过测试,发现它就是导出jar包的source目录指定的配置。

下面是更改后的配置
Eclipse Bundle (包含多个src Folder) Export jar 类路径问题

所有的指定的sourceFolder都如愿的打包到了jar包中了。

这次自己的感觉是,很多时候面对问题要沉着冷静,分析问题,并不断的尝试,问题才有被解决的可能,任何的慌乱都无济于事。

留此文章,以供大家分享。
 

你可能感兴趣的:(eclipse,打包,Bundle,osgi,Export)