0

我有一个 GWT Web 应用程序,它使用 Hibernate for JPA 和 JBoss 5.1 for server。

我在 JBoss Server 中部署 WAR 文件时没有任何问题。一切正常。但是当我尝试使用 GWT Eclipse 插件来避免 GWT 编译时,Hibernate 停止工作。我收到日志消息“没有名为 xptoPU 的 EntityManager 的持久性提供程序”。

此时,我的课程路径中有 JBoss 5.1。然后我尝试删除将 Hibernate JAR 放在我的 WEB-INF/lib 文件夹中。这也不起作用,但日志消息不同。现在告诉我 EntityManager 无法加载持久性单元。

顺便说一句,当我使用 GlassFish 和 EclipseLink 时,我做这些事情没有任何问题......

有什么办法可以让这个工作?我真的需要避免 GWT 编译时间:/

4

1 回答 1

1

不要将 jboss 用于开发 servlet 容器。它的方式来减慢。您应该使用 gwt 开发模式使用的码头。这需要大约 2 秒才能启动。由于所有的依赖关系,让开发模式与 jboss 一起工作几乎是不可能的。

此外,您只需在客户端包中更改代码时进行 gwt 编译。确保您的项目设置为自动构建,然后将您的项目启动到 servlet 容器中。也可以使用 eclipse 插件 run jetty run。它使您可以直接单击鼠标右键进行部署,而无需构建战争。这是非常快的。

如果你调整你的 gwt 编译器,你应该能够得到大约 25 到 60 秒的补偿时间。这是相当快的 IMO,因为您可以处理两件事,并在它们之间交替。

当您准备好在生产中进行冒烟测试时,卷起您的 EAR 并将其部署到您的团队正在使用的开发服务器中。只要您正确配置您的 db 资源 xml 文件并将其存储在正确的位置(通常在根包中;在资源包中),它应该可以正常工作。

我知道这并不完全是您要寻找的东西,而是我们几乎所有人都在做的事情。只需在 Google 上搜索即可加快 gwt 编译时间。

于 2012-08-06T15:11:52.007 回答