BIRT學習日誌之一(與專案整合)

2021-06-21 16:55:49 字數 4089 閱讀 3562

從專案要用到birt工具開始在罈子裡泡了好久,從0開始慢慢琢磨現在終於可以把birt整合到專案中來執行了,當中的過程還真有點艱難,但這也是每個學習birt工具的人都遇到的,現在把中間的些許過程貼出來,希望對初次學習birt的人有些幫助。

一、birt與工程的整合。

jrun.web.xml

server-config.wsdd

viewer.properties

2、將webviewerexample\web-inf\tlds下的birt.tld檔案拷貝到工程的\web-inf\tlds下。

3、在工程的web-inf下建立report-engine的資料夾,在report-engine下新建如下四個資料夾

documents

images

logs

scriptlib

4、將webviewerexample\ webcontent資料夾拷貝到要整合的web應用的根目錄下(如果工程的web目錄也叫webcontent的話會很奇怪,可以將webcontent改名,改名方法另開貼說明)。

5、在web應用的根目錄下建立reportfiles資料夾,用來存放報表檔案。

6、將web.xml(web-template)中的如下內容拷貝到工程的web.xml中:

其中web.xml檔案需做如下修改:

a、修改birt_viewer_working_folder項的值為reportfiles;

b、修改birt_viewer_document_folder項的值為web-inf/report-engine/documents;

c、修改birt_viewer_image_dir項的值為web-inf/report-engine/images;

d、修改birt_viewer_log_dir項的值為web-inf/report-engine/logs;

e、修改birt_viewer_scriptlib_dir項的值為web-inf/report-engine/scriptlib;

f、如果需調整日誌級別可修改birt_viewer_log_level的值為all;

可選的值有:all|severe|warning|info|config|fine|finer|finest|off。級別由高到低。

7、拷貝jar包,這一步放最後是因為我對示例工程中的jar包進行了清理。

我用的是最新版的birt 4.2.2,從官網下的部署包,論壇裡的大部分人的整合方法是將「webviewerexample\web-inf\lib」中的jar包全部拷到工程的lib目錄下,說實話,這裡的包實在是太多了,4.2.2 runtime下的jar包有86個47.8兆,這麼多的jar包全部拷貝到工程下的話造成工程裡面有很多冗餘的jar包,也造成了工程的龐大,相信中也是很多人在專案中遇到的問題,工程中有很多冗餘的jar包,但是有不敢刪除。

我用最土的辦法將birt整合到專案中的辦法就是,先將配置檔案配置好,不拷貝jar包到工程,然後每次啟動,根據啟動日誌的錯誤提示資訊找到缺失的類所在的jar包,然後將對應的jar包拷貝到工程中,再次啟動,以此類推,知道工程啟動和報表展示沒有錯誤為止,得到的執行birt所必須的jar清單如下:

axis.jar

com.ibm.icu_4.4.2.v20110823.jar

com.lowagie.text_2.1.7.v201004222200.jar

commons-cli-1.0.jar

commons-discovery-0.2.jar

jaxrpc.jar

js.jar

org.apache.batik.css_1.6.0.v201011041432.jar

org.apache.batik.util_1.6.0.v201011041432.jar

org.apache.xerces_2.9.0.v201101211617.jar

org.eclipse.birt.runtime_4.2.2.v20130216-1152.jar

org.eclipse.core.runtime_3.8.0.v20120912-155025.jar

org.eclipse.datatools.connectivity.oda.consumer_3.2.5.v201109151100.jar

org.eclipse.datatools.connectivity.oda_3.3.4.v201212070447.jar

org.eclipse.datatools.connectivity_1.2.7.v201302060508.jar

org.eclipse.equinox.common_3.6.100.v20120522-1841.jar

org.eclipse.equinox.registry_3.5.200.v20120522-1841.jar

org.eclipse.osgi_3.8.2.v20130124-134944.jar

org.w3c.css.sac_1.3.0.v200805290154.jar

tidy.jar

viewservlets.jar

derby.jar

從86個精簡到22個,工程下不用到那麼多無用的jar包了,其中derby.jar這個包單獨拿出來是因為這個包可要可不要,因為這個是示例工程中的資料來源,但我們的專案中一般都不需要用到示例工程中的報表資料來源,所以我沒有拷貝這個jar包。

至此通過如上步驟已經將birt報表整合到我們的專案中來了。

BlazeDS 與Spring整合指南之一

springsource與adobe合作發布了spring與blazeds整合的專案spring blazeds integration,通過spring blazeds integration可以把spring的bean暴露為blazeds的flex remoting service,這樣flex...

持續整合 保持專案節奏實踐之一

專案經理不但要用管理實踐掌控專案,還可以歡迎團隊改變自己的技術實踐,從而獲得更大收益。本章包含的一系列實踐,能為專案帶來很多好處。專案經理和團隊要根據自身的實際情況,判斷如何調整 使用這些實踐,而不要強制推行。如果你認為它們有所裨益,不妨將其介紹給團隊,並歡迎團隊積極嘗試。9.1 在專案中使用持續整...

UNIX網路程式設計學習日誌之(一)

已經退伍了,脫掉綠色軍裝,說的悲壯一點,這叫解甲歸田。這種生活是多少個軍人日夜夢想的結果啊。從軍保衛國家,捍衛和平。和平來了。於是軍人可以回家享受生活。平淡的生活就夠了。一直很忙,忙的沒時間學習,早就想看看夢寐以求的幾本書。第一本就是unix網路程式設計。如果說計算機網路程式設計是本科時期網路方向的...