Я работаю над воспроизведением функциональности Eclipse «Экспортировать исполняемый файл .jar» с помощью вызовов командной строки непосредственно из самой java-программы.
Таким образом, эти команды должны выполняться после того, как Eclipse скомпилирует проект. Мне это нужно для лучшего контроля того, какие файлы попадают в .jar, и для ускорения процесса разработки.
Следующая команда успешно упаковывает структуру и классы из каталога «bin», а также создает файл manifest.mf с правильным основным классом, так что myjar.jar можно запустить.
ProcessBuilder builder = new ProcessBuilder("jar", "cvfe", "myjar.jar", "main.MainControler", "-C", "bin", "/");
Process process = builder.start();
Однако в моем проекте есть несколько библиотек (файлов .jar), добавленных в путь к классам через диалоги пути к классам в Eclipse. Например я использую библиотеку pi4j.
Я ожидал, что его внутренний каталог и структура классов (что-то вроде «com.pi4j. ***. Class») будут добавлены в каталог «bin», когда eclipse компилирует и выполняет программу.
Однако его там нет, и поэтому он никогда не заканчивается в «myjar.jar» (и я получаю ошибки отсутствия классов при запуске .jar).
Когда я использую функцию экспорта Eclipse, файлы там есть.
Что мне нужно сделать, чтобы экспортировать файлы .class из дополнительных библиотек .jar, чтобы их можно было добавить?
Огромное спасибо заранее:)