目標: 配置基於Eclipse下的sand調試環境.
具體過程:
一.環境:
1. jdk1.4(不能用1.5)
2. tomcat5.0 (4.x會有問題)
3. sand 0.9_0_0
4. 基於sand0.9_0_0的簡單應用book(其中註釋了XHTMLSandUIServlet中initEncryptor中的內容)
5. MySql (用戶名:root, 密碼:root, 數據庫名:taskheap)
二.基本步驟:
1. 將MyApp project發佈到tomact環境下的工程導入到eclipse下的project下
2. 將ant生成之後的源碼(包括apps/basic/src, apps/MyApp/src, apps/ui/src, platform/tools/src, deploy/MyAppDemo/webapp/src)導入到eclipse project中的WEB-INF
3. 引用一些必要的包:jmx.jar, mail.jar, servlet.jar, j2ee.jar
4. 修改其中的一些bug(主是要taskheap相關的)
三.遇到以下的幾個問題:
1. 時間問題
解決方案:在eclipse的tomcat啓動中增加JVM參數:-Duser.language="en" -Duser.country="US"
2. 斷點時,查看變量的值的問題
解決方案:剛開始調試的時候,找不到源碼,lookup source時,一定要通過java project來找source,而不能通過file來找source。
3. jdk版本問題
project的jdk compliance設置爲1.4
4 DTD目錄copy到eclipsehome
DTD目錄在sand_debug_tomcat/src/sandev_0_9_0/sand/platform/tools/build/DTD
5. MySql驅動
將//192.168.1.2/製品/項目製品/Business5.0/Resource/MySQL/mysql-connector-java-3.1.10-bin.jar複製到tomcat的lib下
四.注意事項:
每次重新啓動的時候,要將MySql中taskheap中的內容清空(原因:MySql中將VARCHAR(4096)轉換成TEXT存儲,有問題)
五. Sand的update機制分析
sand執行update數據庫時,使用了revision的機制(每一個對象中都帶一個revision)