Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > самозапускающийся Jar архив. Как создать? |
Автор: polosatij 7.10.2004, 13:12 |
есть jar.exe. Но что-то так у меня и не получается создать Jar архив по инструкции.. то путь не правильный.. теперь не может найти main-class... Народ, может кто опишет? я думаю эта тема не мне одному была бы интересна. Заранее спасибо! ![]() |
Автор: Alone 7.10.2004, 13:31 | ||||
для создания потребуется: - текстовый файлик манифест (к примеру Manifest.txt) в котором описан главный класс (тот который стартует) file Manifest.txt
Далее вызываем команду jar <options> <file.jar> <manifest> <files> примерно вот так jar -cfm MyProg.jar Manifest.txt MyClass1.class MyClass2.class где: -с создать архив jar -f указать имя файла архива(MyProg.jar) -m добавить информацию из манифест файла далее идут файлы для добавления в архив. Можно указать -С каталог_с файлами Ниже приведу мой скрипт для сборки проекта
Тут есть один хитрый трюк... После подписывания архива - jarsigner затирает оригинальный manifest, который я ему подсовывал. Пришлось выуживать файл Manifest из архива, изменять его и ложить обратно. Но это потребуется лишь в том случае, когда надо будет подписывать апплет |
Автор: polosatij 7.10.2004, 14:06 | ||
sdelal vs'e', kak napisano.. ne poluchaetsja ... ![]() ja ne vizhu v manifeste nazvanie startujushego klassa. Vot manifest posle ego obrabotki jar-om.. MANIFEST.MF
u menja j2sdk1.4.1_02. Krome togo, v file.jar obrazuetsja papki s putem C:\Documente und ... \Administrator\... i t.d do mainClass.class. Tak dolzhno byt'? file.jar sozdaetsja.. no ne zapuskaetsja pri dvojnom shelchke! pri starte file.jar v "cmd.exe" nichego ne proishodit.. prosto perehod zanogo k stroke C:\> hmmmm.... ![]() |
Автор: Domestic Cat 7.10.2004, 15:11 |
Посмотри еще здесь: http://www.cs.princeton.edu/introcs/85application/jar/jar.html Если все равно не получается, советую стянуть ant и разобраться с ним, он сам может jar архивы делать. |
Автор: Alone 7.10.2004, 16:41 |
а манифест не знает какой класс стартующий... Это ты сам должен его туда прописать! |
Автор: AntonSaburov 7.10.2004, 17:29 | ||
Золотые слова ![]() Самому надо такие штуки прописывать. Или использовать настройки IDE (если ты ее юзаешь). Некоторые такое помогают делать. |
Автор: Zandr 8.10.2004, 07:24 |
Гы ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Есть фишка одна для файлов, которые добавляются к манифесту ![]() Каждая значащая строка должна оканчиваться переводом строки. Т.е. создаешь файл, набираешь строчку Main-Class: MyClassWithMAINMethod жмешь на Enter, сохраняешь его (например как mf) Потом что-то типа jar -cfm My.jar mf *. Имеет значение в каком порядке идут буковки f и m в параметрах: jar -cmf mf my.jar * но: jar -cfm my.jar mf * |
Автор: Alone 8.10.2004, 12:00 |
верно. поэтому для порядку - лучче указывать <ключ> <параметр> типа jar -c -m mf -f file etc... а насчет первода строки - абсолютно верно! Это как "отче наш" помнить надо ![]() |