我正在开发一个使用EJB和其他Java EE 6技术作为后端的GWT应用程序。我目前正在使用Safari的GWT 2.0插件。
当我更改GWT客户端代码并保存在我的IDE(NetBeans)中时,所需的只是在浏览器中进行简单重新加载,以使更改生效。这很棒!
但是,我经常在服务器端(EJB,GWT服务器代码等)工作,然后在GWT客户端工作。对服务器端所做的任何更改似乎都不会逐步部署到Glassfish V3服务器。目前我关闭GWT开发模式应用程序,然后重新编译EJB,然后返回GWT开发模式。这很乏味。
有更好的方法吗?我尝试了NetBeans中的“部署保存”选项,但它似乎没有做到这一点。
答案 0 :(得分:1)
诀窍是创建一个爆炸的ear目录(而不是ear文件)并将其部署在应用程序服务器中。它适用于JBoss和Weblogic,而应在glassfish中工作,但尚未尝试过。
这个想法是你根本不使用任何档案。在war目录中,创建一个WEB-INF / classes文件夹,并配置IDE以在此目录中编写类文件。这样,当您在IDE中更改java文件时,它将写入您的classes目录,JVM将热部署您的类。
这种方法有一些限制。如果更改方法签名或添加类或新方法,则JVM无法进行提取。在这种情况下,触摸 web.xml会重新部署WAR。这本身就是重新启动整个应用程序服务器的改进。
要获得正确的设置需要一到两个小时,但之后你就会喜欢它。