欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

birt插件 web_Maven方式集成BIRT 4.6 Webviewer

发布时间:2023/12/20 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 birt插件 web_Maven方式集成BIRT 4.6 Webviewer 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

平生从未见过如此糟糕的官方maven发布质量,窃以为是公司只想卖商业版本,对应的开源版本BIRT简直就是抱来养的。

为了顺利集成BIRT,采用两步走方式:以eclipse的能运行版本为比较基础,再使用maven方式集成验证。

传统动态web项目方式

使用eclipse官方下载的birt-runtime-4.6.0-20160607.zip中的WebViewerExample示例,使用传统web项目方式,检验birt是否可以正常运行。

结论是不能运行,报错“Invalid signature file digest for Manifest main attributes”,是有几个jar包中的签名有问题,官方发行包太应付了事了,实话说做这事儿的人必须开除(可能老板就是这个意思,好让大家去买他们的商业版本)。

排查如下两个包有问题:org.eclipse.birt.runtime_4.6.0-20160607.jar, org.eclipse.datatools.connectivity.oda_3.5.0.201603142002.jar。

打开包删除两个签名文件:/META-INF/ECLIPSE_.RSA 和/META-INF/ECLIPSE_.SF。

在tomcat 8.5中运行,可以正确访问报表。

在这个项目的基础上,创建maven项目,并使用beyand compare软件快速比较依赖的jar包区别,进行下一步maven集成工作。

maven集成方式

创建maven web项目,使用仓库中的BIRT 4.6,JDK为1.8,tomcat为8.5。

org.eclipse.birt.runtime

org.eclipse.birt.runtime

4.6.0-20160607

org.eclipse.birt.runtime

org.eclipse.orbit.mongodb

maven依赖中的这个包org.eclipse.birt.runtime-4.6.0-20160607.jar,和runtime示例中对应的包比较,缺失Tidy类,需要使用runtime下载zip包中的对应文件(org.eclipse.birt.runtime_4.6.0-20160607.jar删除签名文件,注意下划线和横线的区别)替换本地maven仓库中的文件。

maven依赖包中的org.eclipse.datatools.connectivity.oda-3.5.0.201603142002.jar,打开这个文件,删除/META-INF/ECLIPSE_.RSA 和/META-INF/ECLIPSE_.SF。

maven仓库中没有BIRT web viewer,使用本地仓库加载,将viewservlets.jar拷贝到GAV对应的本地路径(例如:/Users/kevin/.m2/repository/org/eclipse/birt/viewer/birt.viewer/4.6.0-20160607/birt.viewer-4.6.0-20160607.jar)。

不停的启动,检查缺失的包:axis-jaxrpc和commons-discovery。

直到可以正常访问报表。

最后可运行的maven pom文件为

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

4.0.0

net.xprogrammer

birtmvn

war

0.0.1-SNAPSHOT

birtmvn Maven Webapp

http://maven.apache.org

org.eclipse.birt.runtime

org.eclipse.birt.runtime

4.6.0-20160607

org.eclipse.birt.runtime

org.eclipse.orbit.mongodb

org.eclipse.birt.viewer

birt.viewer

4.6.0-20160607

org.apache.axis

axis

1.4

org.apache.axis

axis-jaxrpc

1.4

commons-discovery

commons-discovery

0.5

birtmvn

报表也能正常导出。

2019年10月1日,成都,Kevin。

2020年4月23日,成都,Kevin。

总结

以上是生活随笔为你收集整理的birt插件 web_Maven方式集成BIRT 4.6 Webviewer的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。