我目前正在做可以在 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
但我仍然遇到这些问题。如果有人能提供帮助,我将不胜感激。
干杯!
最佳答案
在尝试运行 RabbitMQ 的示例 rabbitmq-java-client(Linux 机器上的 Netbeans)时,我遇到了类似的问题。即使 Netbeans 中的代码说包在那里,运行 mnv install 或 javac 也会产生大量错误,例如:
Send.java:11: error: package com.rabbitmq.client does not exist import 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
关于eclipse - 在 CMD 中运行 RabbitMq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748000/