我正在使用ActiveMQ发布JMS消息。当我使用下面的代码时,它将正确地使用两个Jars(activemq-client.jar和geronimo-jms_1.1_spec.jar)进行编译:
Connection connection = null;
ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_BROKER_URL);
connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("customerTopic");
connection.start();
String payload = "Important task";
Message msg = session.createTextMessage(payload);
MessageProducer producer = session.createProducer(topic);
producer.send(msg);
Thread.sleep(3000);
session.close();
connection.close();
但是,在运行时它给出了错误,以包括所有依赖项jar。添加所有依赖项jar时,它工作正常。但我不想添加这些依赖罐(大约17MB)
是否可以禁用ActiveMQ客户端应用程序的jar依赖项?
答案 0 :(得分:2)
编译时和运行时的依赖关系通常是不同的,因为编译代码与实际运行它们的要求是不同的。如果存在运行时依赖项,则不能简单地摆脱它,否则应用程序将无法正常运行(或根本无法运行)。 “依赖性”是出于某种原因的依赖性;应用程序依赖于它们。