Saturday, December 6, 2008

Run appfuse 2.0.2 in NetBeans 6.5

在 NetBeans 6.1 跑 appfuse 2.0.2 幾乎是不可能,試了半天總是碰壁,但到了 NetBeans 6.5,就像變魔術一般,跑的特別順,尤其是改 jsp 時,不用像 eclipse 需要改 snapshot 裡面的 jsp。在 NetBeans 6.5 可以直接修改 jsp 後在 firefox 中按 F5 就會立即反應改過的結果,對於開發者而言,實在助益不少。以下就 NetBeans 6.5 跑 appfuse 2.0.2 的步驟做一說明

使用 NetBeans 6.5 前,必須先把 appfuse 2.0.2 先安裝好。安裝的步驟可參考
Appfuse 2.0.2 安裝步驟(steps for appfuse 2.0.2 installation)

1. 安裝 NetBeans 6.5
下載 NetBeans 6.5 後安裝到 d:\Java\NetBeans 6.5 下。安裝時須確認裝的元件含 Java Web and EE,及 Run time server Tomcat 6.0.x ,如此跑 appfuse 2.0.2 時才能指定 Tomcat server 為其 Rune time server。

PS : 若你是用 JDK 6.0 Update 10 以上的版本,可以更改 d:\Java\NetBeans 6.5\etc\netbeans.conf 中的 netbeans_default_options (line 6) 在最後加上
--laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
可以將 NetBeans 的外觀換成新的介面如下




















此介面比舊的 Windows 好看多了

2. 安裝 maven plugin
安裝完 NetBeans 6.5 後,可透過 Tools > Plugins > Available Plugins 安裝 maven plugin。安裝完可得以下畫面
















3. 匯入 myproject 到 NetBeans 6.5 中
基本上這也不是匯入,因為已經裝了 maven plugin 的關係,可以透過 File > Open Project 的方式就可以直接打開 myproject 了














4. 設定 Rumtime Server
把 myproject 匯入到 NetBeans 後,預設並不會指定 Runtime Server ,這時候需透過 右鍵按Appfuse JSF Application > Properties > Run 去指定 Server。這邊請先設定為 Tomcat 6.0











5. 啟動 Appfuse web application
當 1-4 設定完成後,可以按 F6 ,Appfuse 就會立即 compile 並 deploy 到 Tomcat 6.0 上且直接帶出 Firefox (或 IE) 顯示 Appfuse 的完整功能















Tips
1. 每次按 F6 時,maven 都會先跑 testcase 後再 deploy 到 tomcat 上,若要跳過 testcase ,可以透過 右鍵按Appfuse JSF Application > Properties > Action > Run project > Set Properties 加入 maven.test.skip=true 即可以跳過 testcase

















2. 當修改 java code 後按 F6 重新 deploy appfuse 到 tomcat ,會發現 2 次後便會發生
java.lang.OutOfMemoryError: PermGen space
的錯誤訊息,此時便無法重新 deploy appfuse ,必須透過 Task Manager 將手動 Tomcat 除掉後再重新 deploy 一次,造成很大的不便。這個問題可以透過 Tools > Servers > Apache Tomcat 6.0.18 > Platform(tab) > VM options 加入 -XX:MaxPermSize=256m 便可以至少 redeploy appfuse 至少 10 次以上,減少除掉 Tomcat 所需花費的時間。




















運用這兩個 Tips ,應該可以減少一下開發時的麻煩,把時間花在功能的開發上。

No comments: