2012-08-06 25 views
0

我有一个使用Hibernate的JPA和JBoss 5.1服务器的GWT web aplicaction。使用Hibernate和JBoss 5.1的GWT Web应用程序

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

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

BTW,当我使用GlassFish和的EclipseLink我没有做这几样东西任何问题......

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

回答

1

不要使用jboss开发servlet容器。它的方式变慢。您应该使用gwt dev模式使用的码头。这大概需要2秒钟。由于所有的依赖关系,使得开发模式与jboss一起工作几乎是不可能的。

此外,您只需在客户端软件包中更改代码时执行gwt编译。确保您的项目设置为自动构建,然后将您的项目启动到servlet容器中。另外使用eclipse插件运行jetty run。它可以让你做一个右键单击运行,直接部署而不必建立战争。这非常快。

如果你调整你的gwt编译器,你应该可以得到大约25到60秒的补偿时间。这是非常快的IMO,因为你可以在两件事情上工作,并在它们之间交替。

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

我知道这prolly不完全是你要找的,但它是我们几乎所有人都做的。只要做一个谷歌搜索加快gwt编译时间。

+0

我已经知道一些这些技巧。问题是这些项目依赖于准备在JBoss中工作的一些模块。因为我已经在另一个项目中成功地使用了tomcat和GlassFish,所以我认为我不会对JBoss有任何问题...我会尝试跳转,谢谢:) – jbatista 2012-08-06 16:33:05

+0

如果你能在码头工作,那么你应该与开发模式很好。在我们的企业设置中,我们有同样的问题。我们直接将jboss依赖项导入到项目中,然后在我们生产构建时将其排除。我更喜欢jetty,因为它非常快速的启动和资源缓存。 – 2012-08-06 17:50:36

+0

我不能把这些工作与码头。问题是当我在jetty中作为webapp运行EntityManagerFactory无法构建我的持久性单元...但是当我作为WAR文件进行部署时,它工作正常:/ – jbatista 2012-08-07 10:43:29

相关问题