Мне знакомы два варианта создания
jar-архива:
вариант №1
Kомпиляция:
diskname:\>javac filename.java --> Enter,
java-файл и class-файлы помещаются в общую папку,
архивация:
diskname:\>jar cvf filename.jar filename*.class --> Enter
Bариант неплохой, но в созданном манифесте отсутствует ссылка на main-class, могут возникнуть
проблеммы с реализацией jar-файла.
вариант №2
Cоздаётся каталог
catalogname с двумя подкаталогами -
classes и
source,
компиляция:
diskname:\>cd catalogname/source --> Enter
diskname:\>javac -d../classes --> Enter.
B первый помещаются class-файлы и файл
manifest.mf, во второй java-файлы.
B файл
manifest.mf помещают следующую информацию:
Manifest-Version: 1.0
Implementation-Vendor: Oracle Corporation
Implementation-Title: Java Runtime Environment
Implementation-Version: 1.7.0_71 <-- установленная версия
Specification-Vendor: Oracle Corporation
Created-By: 1.7.0_71 (Sun Microsystems Inc.)
Specification-Title: Java Platform API Specification
Specification-Version: 1.7
Main-Class: имя java-файла содержащего main-класс,
без расширения -->Enter(обязательно !)
архивация:
diskname:\>cd catalogname/classes --> Enter
diskname:\>jar -cvmf manifest.mf filename.jar --> Enter.
Kак видно, вариант №2 позволяет фиксировать положение main-класса, хотя он и несколько сложнее.
Оболочка Total Commander позволяет редактировать jar-архив, созданный по первому варианту. Для этого
архив необходимо распаковать:
file.jar --> Файл --> Распаковать,
внести изменения в файл
manifest.mf и, снова упаковать архив:
выделяем
все файлы и каталог с манифестом --> Файл --> Упаковать --> в открывшемся диалоговом окне заменяем
последнюю запись на file.jar --> Enter. Как лучше - выбирать вам.
И ещё один нюанс -
при архивации по первому варианту
java-файлы остаются
недоступными.
...вернутся