0

我需要将 RabbitMQ 与另一个在 Java 上运行的系统集成。于是我去官网,下载了包,复制到我的classpath下。然后我按照基本教程进行操作,并验证了导入外部库是否有效。

我现在面临的问题对于 Java 开发人员来说可能很容易解决:我必须导入哪些标准 Java 库才能使以下代码工作?

import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.ConnectionFactory;
...
ConnectionFactory factory = new ConnectionFactory();

不会遇到这样的导入错误:

Line 51, Column 18: No applicable constructor/method found for actual parameters "java.lang.String"; 
candidates are: "void com.rabbitmq.client.ConnectionFactory.setPort(int)"

我尝试过这样的事情,但我不知道它在 Java 中是如何工作的,所以我想澄清一下。例如,什么时候应该使用星号?

import java.lang.String;
import java.lang.String.*;

顺便说一句,我试图集成 RabbitMQ 的系统是 Pentaho Data Integration(又名 Kettle)。

4

2 回答 2

1

首先,摆脱你的java.lang进口。

其次,使用API中描述的setPortanint而不是 a进行调用。String

于 2013-10-16T15:11:23.190 回答
0

只需在类路径中包含 amqp-client-${version} jar 就足够了。Astreix 用于从包中导入所有类。java中的类名以大写字母开头,而包名以小写字母开头。所以,java.lang 是一个包,而 String 是一个类。默认情况下,java.lang 包的所有类都导入到 Java 程序中,您无需编写import java.lang.String; or import java.lang.*;

于 2013-10-16T15:08:42.267 回答