Запуск класса из JAR файла с командной строки: руководство

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы запустить Java-класс из JAR-файла, используйте следующую команду:

Java
Скопировать код
java -cp YourApp.jar com.package.ClassWithMain

Учтите, что ClassWithMain должен включать в себя метод public static void main(String[] args). Если JAR-файл является исполняемым и в манифесте указан атрибут Main-Class, то используйте ключ -jar:

Java
Скопировать код
java -jar YourApp.jar

Помните: полное имя класса com.package.ClassWithMain включает имя пакета. В исполняемом JAR-файле должен быть указан атрибут Main-Class в манифесте.

Кинга Идем в IT: пошаговый план для смены профессии

Запуск из другого каталога

Если JAR-файл расположен в другом каталоге, проверьте корректность указания пути в classpath:

  • Для Unix/Linux:

    shell
    Скопировать код
    java -cp /absolute/path/to/YourApp.jar com.package.ClassWithMain
  • Для Windows:

    shell
    Скопировать код
    java -cp C:\absolute\path\to\YourApp.jar com.package.ClassWithMain

Вместо /absolute/path/to/ и C:\absolute\path\to\ укажите актуальный путь до JAR-файла.

Соблюдайте устоявшиеся соглашения об именовании

Соблюдение принятых соглашений об именовании упрощает работу: размещайте классы в соответствующих пакетах, чтобы избежать путаницы при загрузке. Имена ваших классов не должны совпадать с именами классов стандартной библиотеки Java и других распространённых библиотек.

Системные свойства и распространённые ошибки

Опция -D позволяет задавать системные свойства:

shell
Скопировать код
java -Dcolor=blue -cp YourApp.jar com.package.ClassWithMain

Чтобы избежать ошибок, удостоверьтесь в правильности написания имен классов и JAR, а также в корректности указания Main-Class в манифесте.

Визуализация

Запуск класса из JAR-файла можно представить как запуск ракеты из космического ангара:

Markdown
Скопировать код
JAR-файл (💾): Это ваш космический ангар для ракеты 🚀.

Полноправный процесс запуска выглядит так:

Bash
Скопировать код
java -cp SpaceHangar.jar com.space.mission.Rocket

Просто следуйте указаниям:

1. Найдите расположение JAR-файла и убедитесь, что у вас есть доступ к нему.
2. Определите класс, который вы хотите запустить.
3. Убедитесь в наличии метода main и других важных составляющих.
4. Произведите активацию класса для запуска приложения.

Результатом запуска будет:

Markdown
Скопировать код
🚀 "Ракета взлетает, оставляя за собой облако пара!"
💾🔍🚀 -> 🌟 "Ракета успешно достигла цели!"

Использование манифеста для создания исполняемого JAR-файла

Для создания исполняемого JAR-файла в манифесте необходимо указать Main-Class. При правильном указании использование опции -jar упрощает запуск:

Java
Скопировать код
java -jar ExecutableApp.jar

Убедитесь в правильности указания Main-Class в манифесте.

Расширенная настройка classpath

В сложной конфигурации classpath могут потребоваться указания нескольких JAR-файлов или директорий, с использованием соответствующего разделителя (';' для Windows, ':' для Unix/Linux):

shell
Скопировать код
java -cp "lib/*;YourApp.jar" com.package.ClassWithMain

Использование различных нотаций classpath

Можно использовать -cp или -classpath в зависимости от ваших предпочтений:

Java
Скопировать код
java -classpath YourApp.jar com.package.ClassWithMain

Отладка classpath с опцией verbose

Если возникают проблемы с Main-Class или classpath, используйте опцию -verbose:class:

Java
Скопировать код
java -verbose:class -cp YourApp.jar com.package.ClassWithMain

Полезные материалы

  1. Справочник команды java – Официальная документация по запуску JAR-файлов.
  2. Запуск JAR-файла в Windows – Stack Overflow – Советы по запуску JAR-файлов с сайта Stack Overflow.
  3. Путеводитель по Maven – Руководство по началу работы с Maven.
  4. Плагин Java для Gradle – Инструкции по использованию Java-плагина в Gradle.
  5. Создание нового исполняемого JAR-файла – Eclipse – Инструкции по созданию исполняемого JAR-файла в Eclipse.