Tomcat / WildFly - 在IDE编译保存时快速重新加载webapp?

时间:2017-08-21 18:21:32

标签: junit4 java-ee-7

是否可以做什么" mvn jetty:run"是的,即。如果任何提取的文件已被更改,则针对提取的webapp运行它并自动重新加载/自动重启webapp?

小心!我谈论更新的WAR文件并自动部署它们。我的IDE目前直接在"提取的"内部更新类文件。 webapp文件结构。

背景信息:我想知道(免费许可,即apache / lgpl,而不是CDDL / GPL)Java EE 7解决方案提供了最快的往返时间,可以针对完整堆栈/错误修正开发测试单元。

我也在考虑继续使用Jetty 9.4,也许还有openejb,因为我还没有使用大多数JavaEE功能。我并不是IoC / DI的忠实粉丝,因为如果你试图避免扫描开销,你将配置放入XML,而以编程方式设置嵌入式服务器是强类型和更清晰的恕我直言(还记得jetty.xml吗?编程Java使用XML,wtf ...)。我也不喜欢JSTL / JSP等,因为模板感觉像PHP和j2html对我来说似乎更像Java。

但我想要的是我的Jersey servlet的JPA事务处理/连接池。目前我在RequestListener中执行此操作,并且更加无缝的支持似乎更可取,但不能以在单元测试中运行完整堆栈jetty嵌入式服务器为代价而没有太多麻烦。

更新

我现在使用inotifywait使用简单的BASH脚本。它只是使用Glassfish&和WildFly的RESTful管理控制台进行重新部署:

https://github.com/jjYBdx4IL/snippets/blob/master/bash/jee_autodeploy.sh

它甚至不会部署战争,而是简单地部署构建目录。对于大多数用例来说它应该足够快。如果你的应用程序变得太大并且重新加载时间超过某一点,那么应该开始考虑将其重构为多个模块。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用今天发布的OpenLiberty,它是WebSphere Liberty的核心(Java EE 7投诉)子集。它带有一个名为“WebSphere Developer tools”的eclipse插件,并且属于EPL-1.0许可证。

http://openliberty.io/