Grails JBOSSAS插件 - 如何让它工作?

时间:2012-04-10 02:21:30

标签: grails plugins jboss

新手问题:

我已经被要求将一个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 Dev机器
  • Grails 2.0.3
  • JBoss 5.1.0 - 运行Liferay实例。

伯特,我做了以下事情:

  1. grails generate-jboss-deploy 5
  2. grails war
  3. 将生成的war文件scp到我的远程服务器上的deploy-jboss目录。
  4. 尽职尽责,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>
    

    我确认生成的war文件中存在jboss-web.xml文件(展开,然后检查目录)。

    Burt:jboss-web.xml以外的哪些文件应该被更改?

    更新(再次):

    我不认为jbossas插件有什么问题。我做了更多的测试,看到插件正在做它应该做的事情:删除jars,放入jboss-web.xml。我还没有能够确认它修改了hibernate配置,但我认为它是。我认为问题在于我试图部署到Liferay实例的服务器。

    无论我做什么,我都会得到一个例外,说slf4j无法成功加载。没有更多,没有更少。我会一直在解决这个问题,但这超出了原来的问题范围。伯特,谢谢你的帮助。如果您对Liferay / jboss环境中slf4j呕吐的原因有任何想法,请告诉我。

    问候。

    谢谢!

1 个答案:

答案 0 :(得分:0)

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

如果这样做无效,请更新您的问题并说明您所看到的错误。