如何禁用 ActiveMQ 客户端 jar 依赖

How to disable ActiveMQ client jar dependency

我正在使用 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 时工作正常。但我不想添加这些依赖 jar(大约 17MB)

有什么方法可以禁用 ActiveMQ 客户端应用程序的 jars 依赖性吗?

编译时和 运行 时的依赖关系通常是不同的,因为编译代码的要求与实际 运行 宁它是不同的。如果存在 运行 时间依赖性,您不能简单地摆脱它,否则应用程序将无法正确(或根本无法)运行。 "Dependencies" 是有原因的依赖;应用程序依赖它们。