0

新手问题:

我被要求将一个 grails 应用程序部署到 jboss 5。我花了很长时间弄清楚如何利用 grails jbossas 插件。我尽我所知地遵循了文档,但是我得到了同样的例外,就好像插件从来没有出现过一样。

这是我一直在关注的文档:http: //grails-plugins.github.com/grails-jbossas/docs/manual/guide/2%20Usage.html

我已将该插件添加到 BuildConfig.groovy 插件{} 闭包中。然后我打电话grails war。什么都没有发生,我的战争部署了炸弹。

有人可以给新手一点手来让这个插件工作吗?不幸的是,我发现在实际告诉您如何使用它或插件何时发挥其魔力方面需要文档。

更新:

我的环境:

  • Mac OS X Lion 开发机器
  • 圣杯 2.0.3
  • JBoss 5.1.0 -- 运行 Liferay 实例。

伯特,我做了以下事情:

  1. grails generate-jboss-deploy 5
  2. grails war.
  3. scp 生成的 war 文件到我的远程服务器上的 deploy-jboss 目录。

尽职尽责地,jboss 拿起了新的战争并试图部署它。我收到以下(现在很可怕)异常:

Caused by: java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator

根据使用说明,我修改了Datasource.groovy休眠配置:

hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
validator.apply_to_ddl = false
validator.autoregister_listeners = false
}

似乎已通过运行generate-jboss-delpoy 5脚本修改或创建的唯一文件是WEB-INF/jboss-web.xml. 它的内容是:

<jboss-web>
<class-loading java2ClassLoadingCompliance="false">
    <loader-repository>
        sappi-label:loader=sappi-label.war
        <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
    </loader-repository>
</class-loading>
</jboss-web>

我确认该jboss-web.xml文件存在于生成的战争文件中(爆炸,然后检查目录)。

jboss-web.xmlBurt:除了应该更改的文件之外,还有哪些文件?

更新(再次):

我不认为 jbossas 插件有什么问题。我做了更多的测试,发现插件正在做它应该做的事情:删除 jars,放入 jboss-web.xml。我无法确认它是否修改了休眠配置,但我认为它是。我认为问题出在我试图部署到的服务器上,即 Liferay 实例。

不管我在做什么,我都会收到一个异常,说 slf4j 无法成功加载。不多也不少。我会继续解决这个问题,但这超出了我最初的问题的范围。伯特,谢谢你的帮助。如果您对为什么 slf4j 在 Liferay/jboss 环境中呕吐有任何想法,请告诉我。

问候。

谢谢!

4

1 回答 1

0

我想我没有说清楚你需要运行generate-jboss-deploy脚本,传入你正在使用的 JBoss 的主要版本,所以在你的情况下generate-jboss-deploy 5。我已经更新了文档来描述这一点。

如果这没有帮助,请更新您的问题,说明您看到的错误是什么。

于 2012-04-10T02:59:07.917 回答