2011-10-13 221 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