【问题标题】:Grails JMS Plugin - Unable to resolve classesGrails JMS 插件 - 无法解析类
【发布时间】:2013-12-30 21:36:04
【问题描述】:

我对 grails 很陌生,所以我可能错过了一些明显的东西,但我正在尝试使用 JMS plugin。我在 BuildConfig.groovy 的插件部分中包含以下内容

compile ":jms:1.2"

但是,当我编译应用程序时,jms 插件中的导入出现很多“无法解析类”异常(总共 40 个,主要是 javax.jms.* 和 org.springframework.jms.*)。

例如

| Error Compilation error: startup failed:
C:\dev\prj\grails\tApp\target\work\plugins\jms-1.2\grails-app\utils\DefaultJmsBe
ans.groovy: 16: unable to resolve class org.springframework.jms.listener.Default
MessageListenerContainer
@ line 16, column 1.
import org.springframework.jms.listener.DefaultMessageListenerContainer
^

C:\dev\prj\grails\tApp\target\work\plugins\jms-1.2\grails-app\services\grails\pl
ugin\jms\JmsService.groovy: 22: unable to resolve class javax.jms.Message
@ line 22, column 1.
import javax.jms.Message

有人能指出我正确的方向吗?只需将插件添加到上面提到的 BuildConfig.groovy 到一个新的 grails 项目中,就可以重现该问题。

Grails 2.3.3 版

非常感谢

汤姆

【问题讨论】:

    标签: grails jms


    【解决方案1】:

    在进行 Grails 2.2 -> 2.3.4 升级时,我遇到了类似的问题,并且能够通过在 BuildConfig.groovy 中手动将 spring-jms 添加到我的依赖项中来使事情正常进行:

    compile 'org.springframework:spring-jms:3.2.5.RELEASE'
    

    奇怪的是,现在这会停止工作,因为 jms 插件已经很长时间没有改变了。我的猜测是它依赖于 spring-jms 库,但没有将其列为依赖项,而是依赖 grails 将其引入。根据2.3.x upgrade guide,grails 现在引入的内容发生了变化,所以也许 spring-jms 不再搭便车了。

    【讨论】:

    • 嘿,谢谢你的提示,我回来工作时会试试看 :-)
    【解决方案2】:

    Grails MX 网站上有一篇文章可能会有所帮助;它是使用 2.3.4 构建的:

    http://grails.org.mx/2013/12/20/quickstart-jms-en-grails/

    这对我启动和运行示例应用程序很有帮助。不过它是西班牙语的,所以可能需要让 Google 为您翻译...

    【讨论】:

      【解决方案3】:

      您是否尝试在运行grails run-app 之前执行命令grails refresh-dependencies

      如果您需要更多详细信息,我在 installing a Grails plugin 上写了一篇博文。

      【讨论】:

        猜你喜欢
        • 2012-02-17
        • 1970-01-01
        • 1970-01-01
        • 2011-04-09
        • 2011-05-06
        • 2013-11-21
        • 2011-09-09
        • 2017-09-27
        • 2013-08-08
        相关资源
        最近更新 更多