Запуск класса из JAR файла с командной строки: руководство
Пройдите тест, узнайте какой профессии подходите
Быстрый ответ
Чтобы запустить Java-класс из JAR-файла, используйте следующую команду:
java -cp YourApp.jar com.package.ClassWithMain
Учтите, что ClassWithMain
должен включать в себя метод public static void main(String[] args)
. Если JAR-файл является исполняемым и в манифесте указан атрибут Main-Class
, то используйте ключ -jar
:
java -jar YourApp.jar
Помните: полное имя класса com.package.ClassWithMain
включает имя пакета. В исполняемом JAR-файле должен быть указан атрибут Main-Class
в манифесте.
Запуск из другого каталога
Если JAR-файл расположен в другом каталоге, проверьте корректность указания пути в classpath:
Для Unix/Linux:
java -cp /absolute/path/to/YourApp.jar com.package.ClassWithMain
Для Windows:
java -cp C:\absolute\path\to\YourApp.jar com.package.ClassWithMain
Вместо /absolute/path/to/
и C:\absolute\path\to\
укажите актуальный путь до JAR-файла.
Соблюдайте устоявшиеся соглашения об именовании
Соблюдение принятых соглашений об именовании упрощает работу: размещайте классы в соответствующих пакетах, чтобы избежать путаницы при загрузке. Имена ваших классов не должны совпадать с именами классов стандартной библиотеки Java и других распространённых библиотек.
Системные свойства и распространённые ошибки
Опция -D
позволяет задавать системные свойства:
java -Dcolor=blue -cp YourApp.jar com.package.ClassWithMain
Чтобы избежать ошибок, удостоверьтесь в правильности написания имен классов и JAR, а также в корректности указания Main-Class
в манифесте.
Визуализация
Запуск класса из JAR-файла можно представить как запуск ракеты из космического ангара:
JAR-файл (💾): Это ваш космический ангар для ракеты 🚀.
Полноправный процесс запуска выглядит так:
java -cp SpaceHangar.jar com.space.mission.Rocket
Просто следуйте указаниям:
1. Найдите расположение JAR-файла и убедитесь, что у вас есть доступ к нему.
2. Определите класс, который вы хотите запустить.
3. Убедитесь в наличии метода main и других важных составляющих.
4. Произведите активацию класса для запуска приложения.
Результатом запуска будет:
🚀 "Ракета взлетает, оставляя за собой облако пара!"
💾🔍🚀 -> 🌟 "Ракета успешно достигла цели!"
Использование манифеста для создания исполняемого JAR-файла
Для создания исполняемого JAR-файла в манифесте необходимо указать Main-Class
. При правильном указании использование опции -jar
упрощает запуск:
java -jar ExecutableApp.jar
Убедитесь в правильности указания Main-Class
в манифесте.
Расширенная настройка classpath
В сложной конфигурации classpath могут потребоваться указания нескольких JAR-файлов или директорий, с использованием соответствующего разделителя (';' для Windows, ':' для Unix/Linux):
java -cp "lib/*;YourApp.jar" com.package.ClassWithMain
Использование различных нотаций classpath
Можно использовать -cp
или -classpath
в зависимости от ваших предпочтений:
java -classpath YourApp.jar com.package.ClassWithMain
Отладка classpath с опцией verbose
Если возникают проблемы с Main-Class
или classpath, используйте опцию -verbose:class
:
java -verbose:class -cp YourApp.jar com.package.ClassWithMain
Полезные материалы
- Справочник команды java – Официальная документация по запуску JAR-файлов.
- Запуск JAR-файла в Windows – Stack Overflow – Советы по запуску JAR-файлов с сайта Stack Overflow.
- Путеводитель по Maven – Руководство по началу работы с Maven.
- Плагин Java для Gradle – Инструкции по использованию Java-плагина в Gradle.
- Создание нового исполняемого JAR-файла – Eclipse – Инструкции по созданию исполняемого JAR-файла в Eclipse.