Groovy中带有ActiveMQ的JMS-无法解析类ActiveMQConnectionFactory

Groovy中带有ActiveMQ的JMS-无法解析类ActiveMQConnectionFactory,groovy,activemq,Groovy,Activemq,我正在尝试我的第一个GroovyJMS示例:也可以看到。但仍然没有解决 @Grab(group='net.sf.gtools.jms', module='JmsCategory', version='0.2') @Grab(group='org.apache.activemq',module = 'activemq-all', version='5.9.0') @Grab(group="junit", module="junit", version="4.11") class GroovyJM

我正在尝试我的第一个GroovyJMS示例:也可以看到。但仍然没有解决

@Grab(group='net.sf.gtools.jms', module='JmsCategory', version='0.2')
@Grab(group='org.apache.activemq',module = 'activemq-all', version='5.9.0')
@Grab(group="junit", module="junit", version="4.11")

class GroovyJMSExample {
    def sendMessage() {
        use(JmsCategory) {
            def jms = new ActiveMQConnectionFactory('tcp://localhost:61616')
            jms.connect { c ->
                c.queue("TEST-queue") { q ->
                    def msg = createTextMessage("test")
                    q.send(msg)
                }
            }
        }
    }
    static void main(String[] args) {
        sendMessage()
    }
}

难道你不需要添加

import org.apache.activemq.ActiveMQConnectionFactory
@Grab
行之后,在
类groovyjmsecample{
行之前?

以及来自freenode IRC上的
#groovy
的一些(大量)帮助:

@Grapes([
        @Grab(group = 'net.sf.gtools.jms', module = 'JmsCategory', version = '0.2'),
        @Grab(group = 'org.apache.activemq', module = 'activemq-all', version = '5.9.0'),
        @Grab(group = "junit", module = "junit", version = "4.11"),
        @Grab(group = 'net.sf.gtools.jms', module = 'JmsCategory', version = '0.2'),
        @Grab(group = 'org.apache.activemq', module = 'activemq-all', version = '5.9.0'),
        @Grab(group = "junit", module = "junit", version = "4.11"),
        @Grab(group = 'net.sf.gtools.jms', module = 'JmsCategory', version = '0.2'),
        @Grab(group = 'org.apache.activemq', module = 'activemq-all', version = '5.9.0'),
        @Grab(group = "junit", module = "junit", version = "4.11"),
        @Grab(group = 'net.sf.gtools.jms', module = 'JmsCategory', version = '0.2'),
        @Grab(group = 'org.apache.activemq', module = 'activemq-all', version = '5.9.0'),
        @Grab(group = "junit", module = "junit", version = "4.11")
])
import net.sf.gtools.jms.JmsCategory
import org.apache.activemq.ActiveMQConnectionFactory

class GroovyJMSExample {
    def static sendMessage() {
        use(JmsCategory) {
            def jms = new ActiveMQConnectionFactory('tcp://localhost:61616')
            jms.connect { c ->
                c.queue("TEST-queue") { q ->
                    def msg = createTextMessage("test")
                    q.send(msg)
                }
            }
        }
    }

    static void main(String[] args) {
        sendMessage()
    }
} 

绝对正确。我假设Grab会找到类。添加了import…activemq.*。继续下一个bug。直到我在
@Grab
s和类定义之间添加了
import net.sf.gtools.jms.JmsCategory
,您的示例才对我起作用。这个activemq生成器可以很好地处理附带的远程。