??? 最開始是聽小寇給我介紹Appfuse,沒想到還有這么好的東西,我以前怎么都沒注意到呢。學習一個新框架,用實際項目(Appfuse應該算一個項目吧)總比使用文檔強,網上有很多Appfuse的學習筆記,畢竟它是一個很大的工程,我現在肯定吃不透它,自己也做個筆記,能學到什么程度目前也說不清楚,記錄下學習過程也方便以后查閱。
????? 首先在Appfuse的網站https://appfuse.dev.java.net/上找到QuickStart文檔,這個文檔可以說是相當詳細(也很短小),能讓初學者相當quick地上手。
1. 安裝JDK1.5,配好環境變量。
2. 下載Appfuse,寫這篇文章時最新版本是1.9.4。下載后解壓。
3. 安裝Ant 1.6.5,設好環境變量ANT_HOME和PATH;安裝Tomcat 5.5.20(推薦,我用的5.5.17,也沒有問題),設好環境變量CATALINA_HOME。
4. 安裝MySQL5.0(當然也可以裝其它的數據庫,在properties.xml和build.xml里改與數據庫相關的設置就行了。我裝了個ORACLE,但ORACLE內存消耗太大,又裝回MySQL了)
5. 安裝一個本地SMTP服務器。如果你已經有一個,可以修改原配置文件讓它們指向你已經安裝的SMTP服務器。但是那句話目前還沒看懂,引用原文:Setup a local SMTP server or change mail.properties (in the web/WEB-INF/classes directory) and build.properties (in the root -- for log4j messages) to point to an existing one - they default to localhost.
???? SMTP服務器我裝了個APACHE James,簡單配了下,沒有連上,用telnet localhos 4555登陸時始終提示“在端口 4555:連接失敗”,不知道是操作系統的問題還是什么的,暫時擱下不管。
6. 把lib/junit3.8.1/junit.jar 復制到$ANT_HOME/lib。因為第9步測試的時候ant要用到Junit。
??? 注意:在 $ANT_HOME/lib下已經有一個ant-junit.jar ,但這個JAR包并不是真正的Junit包,而是當你把Junit放到這個目錄下后用來做第九步的ANT Junit task的。
7. 在Appfuse目錄下運行ant new ,會創建一個新的用戶命名的project,創建過程中提示輸入application name, database name 和 package name。之后在Appfuse同級目錄中創建一個新的Appfuse應用。
??? 注意:命名的時候盡量不要使用test、 包含appfuse的名字或以數字開頭的名字,也不要使用兩個破折號(-),用一個可以。
8. 然后進入新創建的project,運行ant setup,ant會自動創建數據庫、配置Tomcat、部署應用程序。ant運行完后就可以在MySQL里看到新建的數據庫,在Tomcat里看到部署的應用程序。
??? 注意:創建數據庫時Appfuse默認MySQL用戶名為root,密碼為空。我安裝MySQL時把密碼設為了mysql,這樣肯定不行。在properties.xml中把<property name="database.admin.password" value=""/>的value改成mysql就可以了。
9. 運行ant test-all進行所有的測試,包括dao, service, web和jsp,來檢查是否一切OK。前面都順利,做到這一步時失敗了,控制臺輸出了大量的錯誤信息,看都看不完,沒辦法,只有先看下Appfuse的build.xml,爭取先把它讀懂了再來檢查錯誤。