【问题标题】:Compile Error when using Spring JMS使用 Spring JMS 时出现编译错误
【发布时间】:2011-07-03 03:23:58
【问题描述】:

我在尝试使用 Spring-JMS 时遇到编译错误。快速的谷歌搜索只找到了一个匹配的结果,但我无法从中得到任何有用的信息。

我正在使用以下代码:

public class Class extends AbstractClass {

    /** {@inheritDoc} */
    @Override
    public void acceptImportableItem(final ImportableItem<File> item) {
        JmsOperations template = getJmsTemplate();

        template.convertAndSend(item);
    }
}

当我尝试编译它时,我收到以下编译错误:

cannot access javax.jms.Destination

class file for javax.jms.Destination not found

在我的代码中没有任何地方引用 javax.jms.Destination。你们中有人知道为什么会出现这个错误吗?

【问题讨论】:

  • 类路径中有 jms.jar 或类似文件吗?

标签: java spring jms jmstemplate


【解决方案1】:

JmsOperations 的某些方法需要 javax jms 类,因此您需要在构建路径中使用它们。无论如何,您将需要在运行时在您的类路径上实现 JMS 提供程序。

【讨论】:

  • Spring 从开发者那里抽象出 jms 的复杂性;在内部,它使用 javax.jms 类提供的接口。
  • 奇怪的是我的来源没有引用任何这些东西。也就是说,你是对的:在编译时需要它。
【解决方案2】:

我正在使用 activemq,在我的情况下,它是通过将其添加到 pom 中来解决的:

    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-broker</artifactId>
    </dependency>

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 2020-09-19
    • 2013-06-16
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多