被低估的BIRT报表(一):编译源码

来源:互联网 发布:好喝的白酒 知乎 编辑:程序博客网 时间:2024/05/17 06:19

坑点一:多余的源码

坑爹啊,你为何在源码里加入org.eclipse.birt.report.viewer包,而在发布的二进制jar包(viewservlets.jar)中却又删除此包及子包,让我浪费了整整二天的时间来排查问题。

坑点二:不一样的icu架包

从Maven仓库下载icu架包时,如下的配置检查了好多遍都没错,但就是无法编译,缺少相关类com.ibm.icu.text.MessageFormat:

<dependency>    <groupId>org.eclipse.birt.runtime</groupId>    <artifactId>com.ibm.icu</artifactId>    <version>56.1.0.v201601250100</version></dependency>

后来与官方提供的架包比较,终于发现文件名有细微的差异,分别为“com.ibm.icu-56.1.0.v201601250100.jar”与“com.ibm.icu_56.1.0.v201601250100”,其中下划线的为正版。
看来坑birt的不仅有官方自己,还有Maven仓库的神助攻。

坑点三:难以信任的Maven仓库

从Maven仓库下载的大多数birt相关库都存在这样那样的问题,再例如:

<dependency>    <groupId>org.eclipse.birt.runtime</groupId>    <artifactId>org.eclipse.birt.runtime</artifactId>    <version>4.6.0-20160607</version></dependency>

下载的架包与官方的架包差了10多m,并且还存在证书验证问题。

结论

有着漂亮图表与强大功能的birt没有流行起来,我想应该与他们官方自身挖的坑相关,一来社区版与商业版相差太大,导致社区孱弱之极,二来始终没有提供相关的MAVEN仓库,导致项目扩散程度太低。

针对这种情况,本博提供了以JAVA EE方式提供服务的mirana-birt项目,支持最新版本4.6,不仅有所有的Birt服务器端源码,还支持Servlet 3.1、Java 8等多项特性。

原创粉丝点击