Saturday, December 6, 2008

Appfuse 2.0.2 安裝步驟(steps for appfuse 2.0.2 installation)

Appfuse 2.0.2 理論上不是一個 framework,而是一個已經 ready to go 的 project prototype。它集合了最穩定與先進的 framework 再加上最基本的 ACL,Menu ,讓 developer 不用從頭開始建構一個 project 的基礎架構。它的 build tool 用的是 Maven,所以無論在做 demo、test、ContinuousIntegration 都不用在額外撰寫新的,直接使用或就現有的架構再做擴充便可以上手。

以下為安裝 appfuse 2.0.2 的簡單步驟,不用十分鐘(除了喝 coffee 的時間),你就有一個可以 login 、manage user 、 upload file 基本功能的 web application 出現在你的電腦上。

1. 安裝 maven-2.0.9 及設定環境變數
下載 maven-2.0.9 到 d:\Java (目錄為 d:\Java\apache-maven-2.0.9)
set M2=D:\Java\apache-maven-2.0.9\bin
set M2_HOME=D:\Java\apache-maven-2.0.9
set MAVEN_OPTS=-Xms256m -Xmx512m
set PATH=%M2%;%PATH%

編輯 d:\Java\apache-maven-2.0.9\conf\settting.xml
line 49 將 localrepository 的內容改成 D:\Java\apache-maven-2.0.9\repository

PS:因 maven 預設值會將 repository 放到 c:\Document2 and Settings\.m2 中,這樣用不同的人 login ,其 repository 就需要跟著異動。放到 d:\Java\apache2-maven-2.0.9\repository 的好處在於將來 team 可以用同樣的設定作業,避免因環境的不同而需要花額外的時間做環境設定

2. 建立 appfuse 2.0.2 的 archetype 到 d:\projects 中
d:\projects> mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-jsf -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject

PS : 此時可以去喝一杯咖啡了,因為要很久。若要節省時間,可以下載 dependency 並解壓縮到 d:\Java\apache-maven-2.0.9\repository

3. 取得 appfuse 的 source code 以便日後 debug 用
d:\projects> cd myproject
d:\projects\myproject> mvn appfuse:full-source

4. 安裝 mysql
mysql 的網站下載 mysql for Windows 並安裝 (此時裝的是 v5.0.x )。root 的密碼暫定為 root

5. 修改 root 的密碼
因 預設在 myproject 中的 pom.xml 的 mysql 密碼為 "空白",所以必須將此部份的空白填入真正的 root 密碼,在做 install 時才能將 table 及 測試資料放到 mysql 的資料庫中。編輯 pom.xml 並在 line 982 修改 <jdbc.password>
</jdbc.password> 為 <jdbc.password>root</jdbc.password> (假設 mysql root 的密碼為 root)

6. 利用 command line 啟動 appfuse
d:\projects\myproject> mvn jetty:run-war
一旦執行此 mvn jetty:run-war,appfuse 就會直接啟動在 port 8080。此時可以用 firefox 檢測 appfuse 是否啟動成功。將 url 指向 http://localhost:8080 可以得到此畫面



















簡單的 6 個步驟,你就有一個功能陽春的 prototype 可以使用,但是若要真的用在 project 上,建議需要有至少 1 年以上的 web 開發功力再使用這一套,因為裡面用的是 MVC + ACEGI + AJAX ,光摸熟這一套就需要花約 2 星期的工夫,但一旦摸熟,則無往不利,因為要加新的功能,除了 domain 的 knowledge 以外,用套的就可以了。

2 comments:

Unknown said...

hi,

I follow your steps, and run many times, but it always display error when I execute mvn jetty:run-war.

Can you please check your steps and update the latest posts, thanks.

moreover, I couldn't find out the line "3.2 修改 line 938 將 hibernate 改成 jpa" you mentioned. please check

Doug said...

Appfuse already move to 2.2.1. You may want to try the newest one since it use Bootstrap which is really a good UI design.