使用Hibernate和JBoss 5.1的GWT Web应用程序
我有一个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时,我做这类事情没有任何问题使用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编译时:/不要使用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