如何热部署我的Java项目?

4
我在一个Java开发团队工作。我们使用Eclipse编写代码,然后使用maven构建war包。之后我们将war包部署在Tomcat中。
有没有一种免费的方法,在保存文件时自动部署文件?
谢谢。

你的意思是,在构建之后在Tomcat中部署war包吗?你可以使用Maven来实现。 - Marcelo
2
你是一位勇敢的开发者。我会担心破坏这个项目。 - Gilbert Le Blanc
@Marcelo 有没有办法在保存文件时自动启动自动构建,而不是每次都点击呢? - arvindwill
5个回答

10

JRebel为您提供了这样的功能:在保存时自动部署文件,同时使用Eclipse和Tomcat,但您需要付费。

我推荐使用JRebel,但是如果想要免费替代方案,可以参考这篇SO问题,其中有人建议使用Dynamic Code Evolution VM作为类似的产品。

关于Java Web应用程序热部署的不同方法,这篇文章详细介绍了一些已经提到的其他方法。


3
如果您想在开发者机器上进行测试部署,应该使用 Tomcat Maven Plugin 或者更好的 Maven Jetty Plugin (因为它更轻量级和更快速)。
如果您想在远程服务器上进行部署,例如每次提交到SCM时,必须使用连续集成工具,如Jenkins或Apache Continuum。

0
不要使用maven构建,使用爆炸式部署,这样静态UI文件和JSP文件可以被容器自动捕获。为了重新加载类文件的更改,您可以在调试会话中运行应用程序并使用热交换(仅允许您更改方法体)或者放弃对免费软件的需求,购买JRebel许可证,该许可证可在非商业项目上免费使用(http://social.jrebel.com)。

使用Maven(“mvn tomcat:run”或“mvn jetty:run”)时,静态UI文件和JSP实际上会自动被捡起来。 - rlovtang
当然可以,这取决于设置。Jetty和Tomcat Maven插件从原始位置读取资源,但是在基于IDE的环境中情况不同。内嵌的Jetty,无论是原版还是作为Maven插件,确实是解决此问题的很好选择,尽管不完美。 - Anton Arhipov

0
如果您有类文件,可以将它们放在WEB-INF/classes目录下。这是您要找的吗?

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接