Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Hibernate和JBoss 5.1的GWT Web应用程序_Hibernate_Gwt_Jpa_Jboss_Persistence - Fatal编程技术网

使用Hibernate和JBoss 5.1的GWT Web应用程序

使用Hibernate和JBoss 5.1的GWT Web应用程序,hibernate,gwt,jpa,jboss,persistence,Hibernate,Gwt,Jpa,Jboss,Persistence,我有一个GWT web应用程序,它对JPA使用Hibernate,对服务器使用JBoss 5.1 我在JBoss服务器中部署WAR文件时没有任何问题。一切正常。但是当我尝试使用GWT Eclipse插件来避免GWT编译时,Hibernate停止工作。我收到了日志消息“没有名为xptoPU的EntityManager的持久性提供程序” 此时,我的类路径中有JBoss5.1。然后,我尝试将Hibernate JAR放在我的WEB-INF/lib文件夹中删除它。这也不起作用,但日志消息不同。现在告诉我

我有一个GWT web应用程序,它对JPA使用Hibernate,对服务器使用JBoss 5.1

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

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

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


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

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

另外,当您更改客户端包中的代码时,只需要执行gwt编译。确保项目设置为自动生成,然后将项目启动到servlet容器中。还可以使用eclipse插件运行jetty run。它允许您右键单击RunAs直接部署,而无需构建war。这是非常快的

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

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


我知道这并不完全是你想要的,但我们几乎都是这样做的。只要在谷歌上搜索一下,就可以加快gwt编译时间。

我已经知道了其中的一些技巧。问题是这些项目依赖于准备在JBoss中工作的一些模块。因为我已经在另一个项目中成功地使用了tomcat和GlassFish,所以我认为JBoss不会有任何问题。。。我将尝试jetty,谢谢:)如果你能让它在jetty中工作,那么你应该可以使用开发模式。我们的企业设置中也存在同样的问题。我们直接将jboss依赖项导入到我们的项目中,然后在我们进行生产构建时将它们排除在外。我更喜欢jetty,因为它的启动和资源缓存速度非常快。我不能让它们与jetty一起工作。问题是当我在jetty中以webapp运行时,EntityManagerFactory无法构建我的持久化单元。。。但是,当我将其部署为WAR文件时,它工作正常:/I我在jetty环境中使用EMF,请确保您使用的是jetty的版本8,并且启用了JNDI。这在您的高级选项中。确保parentload优先级已关闭,我想这会告诉jetty将其构建为一场战争。还要检查jetty类路径,确保包含持久性lib