2010-04-09 32 views
1

我正在开发一个使用EJB和其他Java EE 6技术作为后端的GWT应用程序。我目前正在使用Safari的GWT 2.0插件。在GWT开发中刷新后端

当我改变我的GWT客户端代码,并保存在我的IDE(NetBeans的),所有的需要的是在浏览器中的更改生效,一个简单的重装。这很好!

但是,我常常在服务器端(EJB组件,GWT服务器代码等),然后在东西在GWT客户端工作。对服务器端所做的任何更改似乎都不会增量部署到Glassfish V3服务器。目前,我关闭了GWT开发模式应用程序,然后重新编译这些EJB,然后再回到GWT开发模式。那很乏味。

有没有更好的方法来做到这一点?我在NetBeans中尝试了“在保存时部署”选项,但似乎没有办法。

回答

1

关键是要创建一个展开的EAR目录(而不是EAR文件)和部署在应用服务器。它适用于JBoss和Weblogic,并且应该在glassfish中工作,但还没有尝试过。

这个想法是,你根本不使用任何档案。在您的war目录中,创建一个WEB-INF/classes文件夹,并将您的IDE配置为在此目录中写入类文件。这样,当您在IDE中更改java文件时,它将写入您的classes目录,JVM将热部署您的类。

这种方法有一些限制。如果您更改方法签名或添加类或新方法,JVM将无法将其提取出来。在这种情况下,触摸 web.xml重新部署WAR。这本身就是重新启动整个应用程序服务器的改进。

这需要一两个小时,以获得正确的设置,但在那之后,你一定会喜欢它。

+0

谢谢,会试试这个! – 2010-04-09 18:12:42