2012-03-15 93 views
4

我在一個Java開發人員團隊工作。我們在Eclipse中編寫代碼,然後使用maven構建戰爭。之後我們在Tomcat中部署這場戰爭。我該如何熱部署我的Java項目?

是否有自動部署文件上保存免費方式?

謝謝。

+0

你的意思是,在構建之後在tomcat中部署war嗎?你可以使用maven。 – Marcelo 2012-03-15 15:49:29

+1

你是一位勇敢的開發者。我會擔心打破戰爭。 – 2012-03-15 15:56:32

+0

@Marcelo無論如何都要在保存文件時引入autobuild,而不是每次點擊。 – arvindwill 2012-11-08 16:31:50

回答

0

如果你有你的類文件,你可以把它們放在WEB-INF/classes中。那是你在找什麼?

10

JRebel給你正是:自動部署文件上保存,使用Eclipse AND Tomcat,但你必須爲它付出。

我推薦JRebel,但快速瀏覽一下免費替代品會帶來this SO question,其中有人建議Dynamic Code Evolution VM作爲一個類似的產品。

上有不同的方法來熱部署Java Web應用程序here,其中還詳細介紹了一些已經提到的其他方法的好文章。

3

如果您想在您的開發人員計算機上部署測試用途,則應該使用Tomcat Maven Plugin或更好的Maven Jetty插件(因爲它更輕,速度更快而更好)。

如果你想將其部署在遠程服務器上,在說你的SCM每次提交您必須使用Contiuous集成工具等,例如,詹金斯或Apache連續。

0

不要用Maven構建,使用爆炸的部署,使靜態UI文件和JSP可以由容器自動拾取。要重新加載對類文件的更改,可以在調試會話中運行應用程序並使用hotswap(它只允許更改方法體),或者克服對免費軟件的需求,併爲自己購買JRebel許可證,該許可證可以在非 - 商業項目(http://social.jrebel.com

+0

當使用Maven('mvn tomcat:run'或'mvn jetty:run') – rlovtang 2012-03-25 12:28:05

+0

的時候,靜態UI文件和JSP會自動被拾取。它只取決於設置。 jetty和tomcat maven插件從原始位置讀取資源,但與基於IDE的環境不同。 Embedded Jetty,無論是香草還是Maven插件,對於這個問題的確是一個很好的解決方案,儘管並不完美。 – 2012-03-25 18:16:43

1
  • OSGi是支持熱部署
  • Clojure是一個動態的JVM語言,它使大量的運行時交互的一個通用模塊系統。 Clojure通常用於「實時編碼」 - 幾乎任何東西都可以在運行時進行熱插拔和重新定義。 Clojure是一個功能強大的語言,強調不變性和併發性,因此在某些方面與Erlang有一些有趣的相似之處。 Clojure有一些非常漂亮的網頁框架,比如Noir,適合熱切換網頁代碼。
  • Play Framework旨在啓用熱交換代碼,以避免Web服務器重新啓動導致的生產效率)。如果您主要關注熱交換Web應用程序,則可能是相關的。
  • 大多數Java應用A服務器,如JBoss的支持某種形式的熱交換的Web應用程序。
相關問題