2011-10-13 227 views
3

我在網上搜索了這個問題,發現沒有單一的解決方案。我們有一個maven項目,使用配置文件構建適合dev/qa/prod environtments的工件,使用YUI插件縮小JS和CSS。它使用Spring進行依賴注入,並使用struts作爲UI框架。 Ibatis被用作ORM映射器。我們在Windows上使用Eclipse IDE,並沒有使用集成的eclipse,因爲我們需要部署Unix服務器。現在,我的問題是,是否有辦法以這種方式部署此解決方案,以便對js,css,jsp,spring的applicationContext文件,struts.xml,ibatis映射器文件進行更改,當然也可以在不使用服務器的情況下立即生效Java代碼重新開始。我記得spring-groovy插件支持在groovy文件中更改上下文的重新加載。所以,我認爲應該有一種支持熱部署的方式。Maven + Tomcat熱部署

+0

有後是一個類似的問題,但它不考慮maven:http://stackoverflow.com/questions/998737/integrating-tomcat-and-eclipse-as-a-hot-deploy-environment –

+0

似乎是一個重複的http: //stackoverflow.com/questions/ 3451481/java-maven-development-slow –

回答

1

您可以嘗試maven tomcat plugin - 特別是tomcat:run目標。你也可以配置maven eclipse插件來創建一個動態web項目,然後在eclipse中進行部署。

0

這聽起來像JRebel。 (對於廣告抱歉)。

+0

JRebel,它支持maven嗎?我以爲它只是當你從日食運行它 – budsiya

+0

JRebel不支持maven的tomcat插件。附:如果你真的對這個廣告抱歉,你不會發布它。 – JasperJ

0

Maven與Netbeans的集成爲您做到了這一點。只需文件 - >打開您的項目,點擊運行(它部署並衍生一個Web瀏覽器進行測試),然後在IDE中修改您的代碼,並且每次單擊保存它將熱部署更改。

2

我發現Maven的Tomcat插件是緩慢的,因爲它總是使用Tomcat的客戶部署並像本地主機經理的HTTP調用部署:8080 /經理/文

Tomcat有一個Web應用程序重新加載機制管理「autoDeploy」,你可以閱讀它here。所以,是它重新加載每當應用程序戰爭改變我已經做了如下修改我的maven-war-plugin

​​

其中

<properties> 
    <my.tomcat.path>[MY TOMCAT WEBAPP PATH]</my.tomcat.path> 
</properties> 

此我只需要做好mvn compile war:warmvn compile package