如何构建 BIRT 4 设计器 RCP?

How can I build BIRT 4 designer RCP?

我是 Eclipse 开发的新手,我一直在尝试构建 BIRT 设计器 RCP,但没有成功。

我的目标是自定义 BIRT 设计器,例如删除一些视图和菜单,设置固定的数据源和模板,限制一些操作等,然后将其嵌入到我自己的应用程序中,这将不仅仅用于报告。

现在Eclipse的BIRT Plug-ins我已经从不同的源头导入了,但是总是出现无法解决的错误。

我将设计器 RCP 源代码作为一组插件下载,然后通过先选择 org.eclipse.birt.report.designer.ui.rcp 将它们导入 Eclipse,然后点击标有 "Required Plug-ins ->" 的按钮添加依赖项。

我注意到有些插件有两个版本,一个带有 JAR,另一个标记为 "qualifier",包含 src 目录;我不得不手动删除非限定符版本以包含限定符版本——我不知道为什么找不到 JAR 中的 类。

然后我不得不添加一些未包含在下载源中的插件,例如datatools 插件。我从 BIRT 的 "all-in-one" 下载中获得了这些。我想我最终得到了设计师 RCP 下载和一体化下载的混合插件,但版本相同(上次是 4.4.2)。

我也试过相反的方法,即从一体式下载开始(但一体式下载中缺少 RCP)。我能够将 org.eclipse.birt.report.designer.ui 作为 Eclipse 应用程序启动,但令人惊讶的是,BIRT 根本不存在。此外,报告了许多错误,例如"Bundle was not resolved because of a uses contraint violation".

即使我解决了所有编译问题,当我将它作为 Eclipse 应用程序启动时,在运行时仍会抛出未解决的要求,最常见的是关于 batik 版本:1.6 和 1.7 都包括在内,因为我认为两者都是需要,但 1.6 无法解析,尽管存在。

这应该是实现我目标的第一步,但我什至无法构建设计器 RCP。

我阅读了有关插件开发的 Eclipse 文档,但现在我有点迷茫,因为似乎没有任何效果。我尝试了不同版本的 BIRT 和 Eclipse(目前是 BIRT 4.4.2 和 Eclipse 4.4.2)。

我们将不胜感激任何帮助。这已经一个星期了,如果我不能很快交付任何结果,恐怕我将不得不放弃并使用另一个框架。提前致谢。

经过几个星期的努力,我开始意识到 Eclipse 插件开发并不是我所期望的。

我按照问题中的说明尝试了所有方法,但我什至无法从源构建 Report Designer RCP 应用程序。

现在,对我来说,Eclipse 依赖管理非常有缺陷,插件开发(基于 OSGI 模型)过于复杂,IDE 本身非常不稳定。处理 Eclipse 插件开发是我生命中作为软件开发人员最令人沮丧的一段时间

如果您对出厂时的 Designer RCP 不满意,最好尝试 Pentaho Reporting

Pentaho Reporting 也是 Java,并且有一个开源报表设计器,可在 GitHub 中使用。它有适当的构建工具:您可以使用 Maven 或 Ant+Ivy。 构建过程中的一切都按预期工作,这只是两个命令的问题,您最终会得到一个完美执行的 Java 应用程序。我什至开始对源代码和构建进行自己的修改以查看更改是否生效。太棒了!

作为版权人,我鼓励您放弃 Birt 并尝试使用 Pentaho。我在 Birt 和 Eclipse 上浪费了整整两个星期,一无所获,而一天之内我就可以用 Pentaho Reporting 概述我的方法。而且不仅仅是报表设计器。

希望这能为您节省一些宝贵的时间。