Форум программистов, компьютерный форум, киберфорум
Java: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47

Как создать jar-архив?

26.10.2022, 17:30. Показов 3627. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день друзья. Начинаю осваивать Джаву и тут же сложности, при работе с jar-архивом, а точнее пытаюсь создать этот архив, что бы можно было запускать программу, но не выходит никак, вчера весь вечер просидел, нашел в инете разные способы создания jar-архива, ни один не работает, вот первый способ, подскажите, что я делаю не так?

Создал файл с java-программой HelloWorld.java, с содержимым:
Java
1
2
3
4
5
6
package hello;
public class HelloWorld {
public static void main(String [] args)  {
System.out.println("Hello, Java world!!!");
}    
}
Откомпилировал его командой javac HelloWorld.java
Создался файл класса HelloWorld.class

Создал каталог для классов hello и поместил туда файл класса

Создал текстовый файл manifest.txt и внутри прописал название класса HelloWorld

Создал jar-архив командой jar -cvmf manifest.txt hello.jar HelloWorld.class

Создался jar-архив hello.jar с содержимым в виде файла-класса и папки META-INF c манифестом

Пытаюсь запустить его командой java -jar hello.jar, но выходит следующее сообщение: no main manifest attribute, in hello.jar

ЧТО Я СДЕЛАЛ НЕ ТАК?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.10.2022, 17:30
Ответы с готовыми решениями:

Как создать jar архив без файла manifest.mf?
Подскажите, пожалуйста, как создать jar архив без файла manifest.mf?

Как сделать .jar архив к телефону
META-INF\MANIFEST.MF уже сделал там прописал, чтоб открывался файл (1). Как можно сделать файл (1)? Что такое .class???

Как упаковать в один .jar-архив 2 программы
Помогите, пожалуйста, новичку с одной неловкой задачей: Как в NetBeans 7 создать .jar-архив для нескольких уже написанных Java...

14
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3391 / 2715 / 574
Регистрация: 04.09.2018
Сообщений: 8,534
Записей в блоге: 3
26.10.2022, 17:38
jar можно создавать из среды IDE. Она сама подключит все необходимые зависимости и создаст манифест.
Нафига выеживаться с командной строкой?
0
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
27.10.2022, 00:40  [ТС]
хм.. в NetBeans15 выбрал Build Project, создается папка target, в которой появляется файл HelloWorld6-5.jar, но при его запуске командой java -jar HelloWorld6-5.jar вылезает та же ошибка

no main manifest attribute, in HelloWorld6-5.jar

должна же в этом случае запускаться программа?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3391 / 2715 / 574
Регистрация: 04.09.2018
Сообщений: 8,534
Записей в блоге: 3
27.10.2022, 09:23
Про NetBeans15 не знаю. В Intellij Idea все робит.
0
Модератор
Эксперт Java
 Аватар для alecss131
2843 / 1352 / 403
Регистрация: 11.08.2017
Сообщений: 4,320
Записей в блоге: 2
27.10.2022, 10:25
Цитата Сообщение от wizard41 Посмотреть сообщение
Нафига выеживаться с командной строкой?
Нормальный программист должен уметь и без всяких гуи с иде работать со своим языком.
2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.10.2022, 14:15
Странно, что никто мавен не упомянул...
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3391 / 2715 / 574
Регистрация: 04.09.2018
Сообщений: 8,534
Записей в блоге: 3
27.10.2022, 14:18
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Странно, что никто мавен не упомянул...
Пускай сперва ручками попробует. Мавен ему подавай.. ))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.10.2022, 14:22
wizard41, ты хочешь чтоб он сразу забил на джаву?
Там и с мавеном попотеть немного придется, не все там по щелчку пальцев.

А если серьезно, AlexProgramm, зачем тебе в настоящий момент нужен jar? Язык изучай. Через некоторое время все понятней станет. Наверно
1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3391 / 2715 / 574
Регистрация: 04.09.2018
Сообщений: 8,534
Записей в блоге: 3
27.10.2022, 19:42
Цитата Сообщение от iSmokeJC Посмотреть сообщение
wizard41, ты хочешь чтоб он сразу забил на джаву?
Это верное утверждение!
Как сказал alecss131:
Цитата Сообщение от alecss131 Посмотреть сообщение
Нормальный программист должен уметь и без всяких гуи с иде работать со своим языком
тоже абсолютно в точку. Но! применительно к начинающим это может оказаться фатальным в плане карьеры программиста, т.к. уровень знаний этих начинающих весьма и весьма оставляет желать лучшего.
Сам наблюдал картину: знакомство с Git'ом - толком не понимая структуры и работы контроля версий все давай ставить GitBash, аля круто! Ну-ну. Потом посыпались вопросы типа - а че у меня два бренча вдруг или изменения не залились или залились вместе со старыми... Я уж не говорю про перестановку хедера и слияния коммитов - это вообще для них, в ближайшее время, за гранями достижимого. Т.е. пользуя такой инструментарий, начинающему не совсем ясно что происходит "за кулисами". Поэтому и предлагаю сперва воспользоваться "кнопочками" с понятными названиями, разобраться что есть и зачем, а уж потом, если дух окрепнет, то можно переходить к более продвинутым инструментам.
1
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
27.10.2022, 23:35  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
А если серьезно, AlexProgramm, зачем тебе в настоящий момент нужен jar? Язык изучай. Через некоторое время все понятней станет. Наверно
По материалам, по которым я изучаю, работа с jar-архивом сразу в первом модуле идет, вот я и заморочился
0
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
31.10.2022, 00:38  [ТС]
Получилось!
jar cfve hello.jar hello.HelloWorld hello - команда cfve и похоже еще надо добавить имя пакета
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3391 / 2715 / 574
Регистрация: 04.09.2018
Сообщений: 8,534
Записей в блоге: 3
31.10.2022, 00:51
Цитата Сообщение от AlexProgramm Посмотреть сообщение
и похоже еще надо добавить имя пакета
ты начинаешь познавать истину, о, юный падаван!
Ни что так не укрепляет познание, как самостоятельное нахождение ответа на свой вопрос.
1
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
31.10.2022, 01:55  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
ты начинаешь познавать истину, о, юный падаван!
Ни что так не укрепляет познание, как самостоятельное нахождение ответа на свой вопрос.
Истину глаголишь, о, опытный наставник!
1
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
28.11.2023, 17:02  [ТС]
Не знаю, как у меня там получилось в прошлый раз, но запустить архив-jar ни фига не получается!

Скомпилировать файлы .java могу:
E:\Forum\ForumJava1Simple\source>javac -d ../classes ForumJava1.java

Запустить программу из командной строки могу:
java -cp "." test.forumjava1.ForumJava1

Создать архив .jar c манифестом могу:
jar -cvmf manifest.txt app1.jar test\forumjava1\ForumJava1.class

Но запустить программу из архива не могу! Ну все перепробовал, вот что пишет при запуске:
java -jar app1.jar
Error: Could not find or load main class ForumJava1
Caused by: java.lang.ClassNotFoundException: ForumJava1

С переменной окружения Classpath долбился, куда только не помещал этот гребанный архив, ничего не помогает
Не может найти этот главный класс и все тут
0
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
29.11.2023, 17:01  [ТС]
Цитата Сообщение от AlexProgramm Посмотреть сообщение
Получилось!
jar cfve hello.jar hello.HelloWorld hello - команда cfve и похоже еще надо добавить имя пакета
А, все получилось!!!!!!!!!
jar -cfve app2.jar test.forumjava1.ForumJava1 test
- Этой командой создаем архив app2.jar
java -jar app2.jar - этой командой запускаем

В литературе 2012 года команда для создания jar архива другая:
jar -cvmf manifest.txt app1.jar test\forumjava1\ForumJava1.class
и ошибка при запуске от того, что в манифесте не прописан главный класс
А, все, косяк в книге! Написано, что в файле манифест нужно прописать только название класса, а на самом деле нужно прописать весь путь к названию класса вместе с классом и без расширения .class

в общем обе команды создания архива .jar работают:
1) jar -cfve app2.jar test.forumjava1.ForumJava1 test
2) jar -cvmf manifest.txt app1.jar test\forumjava1\ForumJava1.class
и да, в первом варианте через точку!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2023, 17:01
Помогаю со студенческими работами здесь

Jar файл компьютер видит как WinRar архив
Здраствуйте! У меня Java программа с компьютера запускается по двойному нажатию по Jar файлу, но на другом компе этот Jar файл видит как...

Как создать .jar через утилиту jar.exe
Я начинаю идти в WikiHOW, потом я там делаю все правильно, Конец создания файла сложный, я пишу jar c manifest.mf myclass.class, Потом я...

Как в java создать исполн jar файл для выполнения с целью, что бы потом код этого jar нельзя было использовать
(Новичок) Добрый день. Подскажи пожалуйста, как быть. Как создать jar файл что бы потом его код нельзя было просматривать, а то я по...

Упаковка в jar архив. NetBeans
Я в своей программе использую xml файл и gif иконку. Как бы мне так сделать, чтобы при создании архива они тоже в него...

Не получается запустить JAR архив
Добрый день\вечер. Никак не могу понять, что я делаю неправильно при создании JAR архива. Описываю свои действия: 1. Создаю JAR'ник через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru