我在互联网上搜索了这个问题,发现没有一个解决方案。我们有一个maven项目,它使用配置文件来构建适合dev / qa / prod环境的工件,使用YUI插件缩小JS和CSS。它使用Spring作为依赖注入,使用struts作为UI框架。 Ibatis用作ORM映射器。我们在Windows上使用Eclipse IDE,并且不使用集成的eclipse,因为我们需要部署Unix服务器。现在,我的问题是,有没有办法以这样的方式部署这个解决方案,即更改js,css,jsp,spring,struts.xml,ibatis映射器文件的applicationContext文件,当然还有Java代码,以便在没有服务器的情况下立即生效重新开始。我记得spring-groovy插件支持重新加载groovy文件中的上下文。所以,我认为应该有一种支持热部署的方式。
答案 0 :(得分:2)
我发现maven tomcat插件很慢,因为它总是使用tomcat的客户端部署程序,并通过管理器上的http调用部署,如localhost:8080 / manager / text
Tomcat有一个由“autoDeploy”管理的Web应用程序重新加载机制,您可以阅读它here。因此,每当应用程序战争发生变化时重新加载,我就对maven-war-plugin
进行了以下更改:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<outputDirectory>${my.tomcat.path}</outputDirectory>
</configuration>
</plugin>
,其中
<properties>
<my.tomcat.path>[MY TOMCAT WEBAPP PATH]</my.tomcat.path>
</properties>
在此之后,我只需要mvn compile war:war
或mvn compile package
答案 1 :(得分:1)
您可以尝试maven tomcat plugin - 特别是tomcat:run目标。您还可以配置maven eclipse插件来创建动态Web项目,然后在eclipse中进行部署。
答案 2 :(得分:0)
听起来像JRebel。 (对不起商业广告)。
答案 3 :(得分:0)
Maven与Netbeans的整合为您做到了这一点。只需文件 - &gt;打开您的项目,单击运行(部署并生成Web浏览器进行测试),然后在IDE中修改代码,每次单击“保存”它将热部署变更。