应用环境:

tomcat-8.5.16

jdk 1.8

BIRT 4.6.0


1.  BIRT官网下载最新的BIRT运行环境 - Latest BIRT Runtime Release Build: 4.6.0,目前BIRT最新版本为4.6.0。


2. 解压Birt-Runtime-x.x.zip,在根目录下找到birt.war,将其拷贝到Tomcat/webapps目录下。


3. 启动Tomcat,会发现输出如下所示的错误日志,这是工程打包时部分jar重复引用所致。


org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/birt]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes


4. 在tomcat/webapps/birt/WEB-INF/lib目录下,分别找到org.eclipse.birt.runtime_4.6.0-20160607.jar, org.eclipse.datatools.connectivity.oda_3.5.0.201603142002.jar这两个ja,并在这两个jar的META-INF目录下找到ECLIPSE_.SF 和ECLIPSE_.RSA两个文件,然后删除。


5. 重启Tomcat,并在浏览器中输入http://localhost:8080/birt/ , 浏览器显示出birt的引擎版本和JRE版本,说明部署成功。


6.  将自己开发的xxx.rptdesign birt报文文件拷贝到birt目录下,按照如下所示格式,将_report参数名改为自己的报表参数名即可。


http://localhost:8080/birt/frameset?__report=hello.rptdesign