2

我目前正在做可以在rabbitMQ网站上找到的教程,并且在命令提示符(Windows7)中运行程序时遇到了问题。

现在我的客户端库在 Eclipse 中完美运行,即我能够在生产者和消费者等之间发送消息。但是如果我尝试在命令提示符下运行这个程序,我会得到这个:

Worker.java:1: error: package com.rabbitmq.client does not exist
import com.rabbitmq.client.Channel;
                      ^
Worker.java:2: error: package com.rabbitmq.client does not exist
import com.rabbitmq.client.Connection;
                      ^
Worker.java:3: error: package com.rabbitmq.client does not exist
import com.rabbitmq.client.ConnectionFactory;
                      ^
etc...... etc..... (this list goes on)....

现在我已将必要的库(.jar 文件)位置添加到类路径中!并使用以下命令在命令提示符下编译:

javac -cp rabbitmq-client.jar Worker.java

但我仍然遇到这些问题。如果有人可以提供帮助,我将不胜感激。

干杯!

4

2 回答 2

1

在尝试运行 RabbitMQ 的示例 rabbitmq-java-client(Linux 机器上的 Netbeans)时,我遇到了类似的问题。即使 Netbeans 中的代码表明包在那里,运行 mnv install 或 javac 也会产生大量错误,例如:

Send.java:11:错误:com.rabbitmq.client 包不存在导入 com.rabbitmq.client.ConnectionFactory;

我解决了修复目录结构的问题。它们应该如下所示:

my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

请参阅:http ://maven.apache.org/guides/getting-started/index.html#How_do_I_make_my_first_Maven_project

我认为这符合 Maven 的要求。

另外,我手工重建了pom。示例 rabbitmq-java-client 中的 pom 缺少所有这些信息:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

它只是有

<?xml version="1.0"?>

见: https ://github.com/rabbitmq/rabbitmq-java-client/blob/master/pom.xml


实际上,我想知道为什么海报在 Eclipse 中这样做。

现在我在这里猜测,但他的 Worker.java 不需要在 IED 中进行编辑。我想知道我们是否都犯了同样的错误。

他们不需要。只需将它们与这些文件放在自己的目录中

commons-cli-1.1.jar
commons-io-1.2.jar
rabbitmq-client.jar

然后

javac -cp rabbitmq-client.jar Worker.java

然后打开 RabbitMQ 服务器 ( http://localhost:15672/)

java -cp .:commons-io-1.2.jar:commons-cli-1.1.jar:rabbitmq-client.jar Send

下一个

java -cp .:commons-io-1.2.jar:commons-cli-1.1.jar:rabbitmq-client.jar Recv
于 2015-01-21T00:14:28.757 回答
0

这来自:https ://www.rabbitmq.com/tutorials/tutorial-one-java.html

Java 客户端库

RabbitMQ 使用 AMQP,这是一个开放的、通用的消息传递协议。有许多不同语言的 AMQP 客户端。我们将使用 RabbitMQ 提供的 Java 客户端。

下载客户端库包,并按照说明检查其签名。将其解压缩到您的工作目录并从解压缩的目录中获取 JAR 文件:

$ unzip rabbitmq-java-client-bin- .zip $ cp rabbitmq-java-client-bin- /*.jar ./ (RabbitMQ Java 客户端也在中央 Maven 存储库中,其 groupId 为 com.rabbitmq 和 artifactId amqp 客户端。)

更多详细信息并在此处下载 Java 客户端库:http ://www.rabbitmq.com/java-client.html

于 2014-11-28T18:57:05.580 回答