應用環境:
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