我需要将RabbitMQ与另一个在Java上运行的系统集成。所以我去了official website,下载了包并将其复制到我的类路径中。然后我跟着basic tutorial,我确认导入外部库是有效的。
我现在遇到的问题可能很容易为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(a.k.a. Kettle)。
答案 0 :(得分:1)
首先,摆脱java.lang
导入。
其次,如API所述,使用setPort
而不是int
致电String
。
答案 1 :(得分:0)
在classpath中包含amqp-client - $ {version} jar就足够了。 Astreix用于从包中导入所有类。 java中的类名称以大写字母开头,而包名称小写。所以,java.lang是一个包,String是一个类。默认情况下,所有java.lang包类都在Java程序中导入,您不需要编写import java.lang.String; or import java.lang.*;