Несколько пакетов в проекте Java и файлы JAR - PullRequest
0 голосов
/ 21 апреля 2011

Я пытаюсь собрать Java-клиент для rabbitmq.
У меня есть исходная папка как A.mq.client.
Также у меня есть папка libs, в которой хранятся мои jar-файлы rabbitmq. Эти банки были добавлены для построения пути. В Eclipse все работает нормально.

Затем я экспортирую весь проект в Eclipse как jar. Содержимое jar: .classpath, папка libs и папка my package + остальные вещи.

Теперь я получаю исключение:

java.lang.ClassNotFoundException: com.rabbitmq.client.Consumer

com.rabbitmq.client.Consumer в библиотеках lib.

Я использую jar, используя java -cp rabbit.jar A.mq.client.Worker, где я хочу вызвать основной метод рабочего класса в моем пакете, а Worker обращается к пакетам jar.

Ответы [ 2 ]

1 голос
/ 21 апреля 2011

Насколько я знаю, обычно вы не можете упаковать файлы JAR в другой файл JAR. Как правило, вам придется расширить все различные зависимые банки до упаковки вашей последней банки. Если вы когда-либо использовали Maven, это то, что maven-shade-plugin помогает автоматизировать.

См. Ответ в этот вопрос для получения дополнительной информации.

0 голосов
/ 21 апреля 2011

CLASSPATH перечисляет места, где находятся классы - либо в каталоге, либо в jar, но не

  • каталоги каталогов
  • каталоги jars
  • банок каталогов
  • банок банок
...