Eclipse: упаковка нескольких проектов в один JAR

У меня есть несколько проектов, но только один с основным классом. Тот, у кого класс Main, зависит от других проектов. Эти проекты упоминаются в Eclipse, но когда я экспортирую свой JAR, другие проекты не экспортируются с этим JAR.

Как я могу экспортировать свой Основной проект и "включить" другие проекты в тот же JAR? Я бы предпочел не иметь несколько JAR-файлов и определять их в моем Classpath в командной строке.

3 ответа

Решение

Не делай это трудным путем. Используйте собственный экспортер Eclipse. Сначала убедитесь, что у вас есть другие проекты, упоминаемые как Проекты в пути сборки основного проекта. После этого просто щелкните правой кнопкой мыши основной проект, выберите " Экспорт", а затем " Java"> "Runnable JAR-файл". Выберите конфигурацию запуска (которую вы использовали для тестирования main() класс локально), а затем у вас есть 3 варианта обработки библиотеки для упаковки JAR:

Первый вариант просто переупакует классы других проектов внутри JAR. Все просто собрано.

Второй вариант будет копировать другие проекты в виде JAR-файлов внутри JAR-файла. Это обычно не работает таким образом, но Eclipse также добавляет специальный модуль запуска, который в основном копирует встроенные JAR-файлы в память, извлекает их, добавляет файлы в загрузчик классов и затем вызывает main() с этим загрузчиком классов.

Третий вариант - это то, что вы не хотите для этого конкретного случая.

Если бы я делал это, я бы "портил" проекты, используя зависимости maven для каждой зависимости проекта, а затем использовал бы

mvn assembly:assembly

см. http://maven.apache.org/plugins/maven-assembly-plugin/ для получения дополнительной информации об этом плагине.

Я думаю, что Eclipse изначально использует скрипты ant и build.xml для проектов Java, можно использовать Maven, и в обоих случаях есть способы объединить их в один jar, этот поток отвечает на тот же вопрос, который я думаю:

Чистый способ объединить несколько банок? Желательно с помощью Ant

Другие вопросы по тегам