從專案要用到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網路程式設計。如果說計算機網路程式設計是本科時期網路方向的...