我正在寻找在混合项目类型之间处理项目间依赖关系的最佳实践,其中一些项目是eclipse插件/ OSGI捆绑包项目(RCP应用程序),而其他项目只是简单的旧Java项目(Web服务模块).很少eclipse插件依赖于Java项目.
我的问题是,至少在我看来,在Eclipse PDE环境中没有办法清楚地表达这样的依赖.我可以让插件项目依赖于其他插件项目(通过Import-Package或Require-Bundle manifest标头),而不是普通的java项目.
我似乎可以让项目声明对工作空间中另一个项目的jar的依赖,但是这些jar文件不能通过导出或启动配置来获取(尽管java代码编辑看起来很好).
“Java项目”用于构建要部署在J2EE容器(目前为JBoss 4.2.2)上的服务,并在某些情况下生成多个jar,一个用于部署到JBoss耳,另一个用于客户端代码(一个RCP应用).
我们现在“解决”这个问题的方式是,我们还有两个外部工具启动器配置 – 一个用于构建所有的jar,另一个用于将这些jar复制到插件项目.这个工作(一种),但是“整体构建”和“复制jar”目标引起了相当大的构建步骤,绕过了整个eclipse增量构建功能,并且通过复制jar而不是仅引用我将依赖关系信息去耦的项目并请求相当大的工作空间刷新,这样可以让开发时间像糖果一样.
我想要的是一个更自然的工作区设置,它将管理项目之间的依赖关系,并根据需要请求增量重建,能够在RCP应用程序插件中使用服务库中的客户端代码,并能够在所需的课程中启动RCP应用程序.
所以我可以把我的蛋糕也吃了吗?
注意
要清楚,这不是关于依赖关系管理和模块管理,就像Eclipse PDE配置一样.
我非常了解像[Maven],[Ivy]和[Buckminster]这样的产品,他们解决了一个完全不同的问题(一旦解决了工作区配置问题,这些产品实际上可以用于实现工作区和构建产品)