2010-10-11 66 views
1

我真的很生氣,當我開發UI時,必須重新部署整個應用程序以查看可能需要一分鐘的更改。啓動時大部分時間用於啓動服務和dao層(=休眠)。我已經將應用程序劃分爲多個模塊,UI代碼是一個獨立的模塊。所有的模塊都打包在war中並部署在Tomcat上。該軟件爲IOC使用Spring。 UI層中的代碼使用Spring MVC和最近的Vaadin。 Maven被用來構建projet。通過重新部署UI代碼,加速Java中的Web UI開發?

是否有任何提示,以改變UI層更改代碼時的東西?有沒有辦法重新部署只有一個罐子?我已閱讀關於OSGI和EJB的幫助?你會推薦使用其中一種還是有其他解決方案?使用像glassfish或jboss這樣的真正的應用服務器我沒有問題。最終的結果也不一定是戰爭文件。

編輯:我試圖擺脫JSP,所以更換服務器上的JSP文件是不夠的。 Vaadin是普通的Java代碼。即使在Spring MVC中,控制器也是Java代碼。

回答

1

這裏有幾個解決方案。

  1. 通常的網絡/應用服務器將有一個工作目錄,你會發現,如果要更換JSP頁面那裏,你「變」將會立即回升。如果您在部署中使用分解的WAR文件,這會更容易。

  2. JRebel可用於加快週轉時間

更改爲EJB或OSGI將是一個不平凡的變化 - 部署速度可能不應該是你對這個唯一的司機。

PS:我的web前端技術都有點生疏了,所以也許把我的意見與一粒鹽

+0

JRebel很有趣,必須檢查出來。 – palto 2010-10-11 13:59:28

0

是你的變化實際上對UI元素,或CSS樣式?我們對外部化靜態資源(如CSS和圖形)有一定的運氣,只需確保瀏覽器緩存爲空即可看到更改。如果你真的改變了用戶界面,我只是看了Vaadin的「30秒」介紹,至少看起來像是任何UI更改都需要重啓服務器才能看到。

Vaadin使用GWT作爲其顯示技術。 GWT將Java代碼編寫成Swing,並將其轉換爲HTML和Javascript。我認爲所有生成的代碼都是不得不反彈一切的主要原因。 YMMV

相關問題