Как создать JAR-файл в Java - Вопросы
Всего: 5 вопросов
1. Что такое JAR-файл в Java?
Что такое JAR-файл в Java?
JAR (Java ARchive) — это архивный файл в формате ZIP, который объединяет множество .class-файлов, ресурсов (изображения, файлы конфигурации) и метаданных (файл MANIFEST.MF) в один файл с расширением .jar. Используется для удобного распространения и развёртывания Java-приложений и библиотек одним файлом.
2. Как создать JAR-файл из скомпилированных классов?
Как создать JAR-файл из скомпилированных классов?
С помощью утилиты jar: jar -cf MyJar.jar <файлы/каталоги>. Флаг c означает создать (create), а f задаёт имя выходного файла. Например, jar -cf MyJar.jar myApp упакует каталог myApp со всеми классами внутри JAR, сохраняя структуру пакетов (каталогов) внутри архива.
3. Что такое MANIFEST.MF и за что отвечает атрибут Main-Class?
Что такое MANIFEST.MF и за что отвечает атрибут Main-Class?
MANIFEST.MF — специальный файл метаданных, который хранится в каталоге META-INF внутри каждого JAR. Атрибут Main-Class в манифесте указывает полностью квалифицированное имя класса с методом main, который будет запущен при выполнении java -jar. Без атрибута Main-Class JAR нельзя запустить командой java -jar.
4. Как запустить исполняемый JAR-файл?
Как запустить исполняемый JAR-файл?
Командой java -jar app.jar. JVM читает атрибут Main-Class из манифеста и вызывает метод main этого класса. Важно: при использовании -jar переменная окружения CLASSPATH и опция -classpath игнорируются — classpath задаётся только манифестом JAR (через атрибут Class-Path).
5. Как подключить JAR-файл к classpath при компиляции и запуске кода?
Как подключить JAR-файл к classpath при компиляции и запуске кода?
С помощью опции -classpath (или короткой -cp): javac -classpath MyJar.jar MyClass.java и java -classpath .;MyJar.jar MyClass. Разделитель путей — точка с запятой (;) в Windows и двоеточие (:) в Linux/macOS. Точка (.) обозначает текущий каталог, поэтому её добавляют, если ваши собственные классы лежат там.