Самый быстрый способ упаковать консольное приложение Java - PullRequest
4 голосов
/ 26 февраля 2009

У меня очень маленький набор классов, созданный в пользовательской иерархии пакетов, с одним классом консольного приложения, в котором они используются. Все отлично работает из JCreator и из командной строки.

Я хотел бы создать второе консольное приложение, которое повторно использует этот же пакет.

Как новичок в Java, какой самый быстрый и самый грязный способ сделать это?

Моей главной задачей было избежать копирования каталогов пакетов в каталог нового консольного приложения.

Используя JCreator, у меня не было проблем с добавлением каталога пакетов в проект, компиляцией и запуском. Но когда я попытался запустить консольное приложение из командной строки, оно не смогло найти классы в иерархии пакетов.

В Visual Studio вы просто добавляете ссылку ...

Ответы [ 4 ]

9 голосов
/ 26 февраля 2009

То, что вы хотите сделать для обоих приложений, - это создать файл jar с определением Main-class в манифесте var. В Java Tutorials есть много информации об этом, но суть в том, что вы создадите файл jar с помощью инструмента jar, а затем создадите небольшую оболочку для запуска его как

java -jar myfile.jar
0 голосов
/ 26 февраля 2009

Если я правильно прочитал, у вас есть класс, который я назову A, который ссылается на пакеты в пакете pkg, и теперь вы хотите создать новый класс B, который также использует классы в pkg.

Один из вариантов - создать файл pkg.jar, содержащий все классы в pkg, а затем создать отдельные файлы jar для хранения A и B. В файлы манифеста для A.jar и B.jar вы можете включить Class- Элемент пути для включения pkg.jar

Затем, пока pkg.jar отправляется вместе с A.jar или B.jar, каждый из них будет ссылаться на pkg.jar, не беспокоясь об указании пути к классам в командной строке.

Некоторые подробности здесь: http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html

0 голосов
/ 26 февраля 2009

Используя такой инструмент, как process exlporer , вы сможете увидеть командную строку, которую JCreator использовал для запуска вашего приложения.

(Обычно в среде IDE также имеется множество параметров командной строки для возможности подключения к вашему приложению и его отладки и т. Д.)

0 голосов
/ 26 февраля 2009

Если вы не хотите копировать файлы классов из вашего первого приложения, вам нужно настроить путь к классам, используемый при запуске java из командной строки, чтобы указать расположение этих файлов.

Убедитесь, что вы также указали расположение вновь созданных файлов классов.

...