Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

java - средство запуска приложения Java

РЕЗЮМЕ

    java [ options ] class [ argument ... ]
    java [ options ] -jar file.jar [ argument ... ]
    javaw [ options ] class [ argument ... ]
    javaw [ options ] -jar file.jar [ argument ... ]
options
Параметры командной строки.
class
Имя класса, который будет вызван.
file.jar
Имя файла фляги, который будет вызван. Используемый только с -jar.
argument
Параметр, который передают к основной функции.

ОПИСАНИЕ

Инструмент java запускает приложение Java. Это делает это, запуская среду выполнения Java, загружая указанный класс, и вызывая что основной метод класса.

Метод должен быть объявлен общедоступный и статичный, он не должен возвратить значение, и он должен принять a String массив в качестве параметра. Объявление метода должно быть похожим на следующее:

public static void main(String args[])

По умолчанию первым параметром неопции является имя класса, который будет вызван. Должно использоваться полностью определенное имя класса. Если - опция фляги определяется, первым параметром неопции является имя архива JAR, содержащего класс и ресурс f iles для приложения с классом запуска, обозначенным заголовком декларации Основного класса.

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

Параметры неопции после имени класса или имени файла JAR передают к основной функции.

javaw команда идентична java, за исключением того, что с javaw нет никакой связанной консоли. Используйте javaw, когда Вы не хотите, чтобы окно командной строки появилось. javaw средство запуска, однако, выведет на экран диалоговое окно с информацией об ошибке, если запуск перестанет работать по некоторым причинам.

ОПЦИИ

У средства запуска есть ряд стандартных опций, которые поддерживаются на текущей среде выполнения и будут поддерживаться в будущих выпусках. Кроме того, Java по умолчанию HotSpot, VMs обеспечивают ряд нестандартных опций, которые подвержены изменениям в будущих выпусках.

Стандартные Опции

- клиент

Выберите Java Клиент HotSpot VM. 64-разрядный способный jdk в настоящий момент игнорирует эту опцию и вместо этого использует Java Сервер HotSpot VM.

Для выбора VM по умолчанию см. Машинное Обнаружение Класса сервера

- сервер

Выберите Java Сервер HotSpot VM. На 64-разрядном способном jdk только Java Сервер HotSpot VM поддерживается так - параметр сервера неявен. Это подвержено изменениям в будущем выпуске.

Для выбора VM по умолчанию см. Машинное Обнаружение Класса сервера

-agentlib:libname [=options]
Загрузите собственную библиотеку агента libname, например.

-agentlib:hprof

-agentlib:jdwp=help

-agentlib:hprof=help

Для получения дополнительной информации см. Параметры командной строки Агента JVMTI.

-agentpath:pathname [=options]
Загрузите собственную библиотеку агента полным путем. Для получения дополнительной информации см. Параметры командной строки Агента JVMTI.
- путь к классу пути к классу
- путь к классу cp
Определите список каталогов, архивов JAR, и архивов ZIP, чтобы искать файлы класса. Записи пути к классу разделяются точками с запятой (;). Определяя - путь к классу или - CP переопределяет любую установку переменной окружения ПУТИ К КЛАССУ.

Если - путь к классу и - CP не используется, и ПУТЬ К КЛАССУ не устанавливается, пользовательский путь к классу состоит из текущего каталога (.).

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

Например, если каталог foo содержит a.jar и b.JAR, тогда элемент пути к классу foo/* расширяется до a A.jar:b.JAR, за исключением того, что порядок файлов фляги является неуказанным. Все файлы фляги в указанном каталоге, даже скрытых, включаются в список. Запись пути к классу, состоящая просто из * расширяется до списка всех файлов фляги в текущем каталоге. CLASSPATH переменная окружения, где определено, будет так же расширена. Любое подстановочное расширение пути к классу происходит прежде, чем виртуальная машина Java запускается - никакая программа Java никогда не будет видеть нерасширенные подстановочные знаки кроме, запрашивая среду. Например; вызывая System.getenv("CLASSPATH").

Для получения дополнительной информации по путям к классам см. Установку Пути к классу.

-Dproperty=value
Установите системное значение свойства. Если значение является строкой, которая содержит пробелы, следует включить строку в двойные кавычки:
        java -Dfoo="some string" SomeClass
-enableassertions [: <имя пакета>"..." |: <имя класса>]
- земля [: <имя пакета>"..." |: <имя класса>]
Утверждения включения. Утверждения отключаются по умолчанию.

Без параметров enableassertions или - земля включает утверждениям. С одним параметром, заканчивающимся в "...", переключатель включает утверждениям в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель включает утверждениям в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель включает утверждениям в указанном классе.

Если единственная командная строка содержит многократные экземпляры этих переключателей, они обрабатываются в порядке прежде, чем загрузить любые классы. Так, например, чтобы выполнить программу с утверждениями, включенными только в пакете com.wombat.fruitbat (и любых подпакетах), следующая команда могла использоваться:

java -ea:com.wombat.fruitbat... <Main Class>

-enableassertions и - переключатели земли применяются ко всем загрузчикам класса и к системным классам (у которых нет загрузчика класса). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается для включения, утверждает во всех системных классах; см.-enablesystemassertions ниже.

-disableassertions [: <имя пакета>"..." |: <имя класса>]
Da - [: <имя пакета>"..." |: <имя класса>]
Утверждения отключения. Это - значение по умолчанию.

Без параметров disableassertions или da - отключает утверждения. С одним параметром, заканчивающимся в "...", переключатель отключает утверждения в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель отключает утверждения в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель отключает утверждения в указанном классе.

Чтобы выполнить программу с утверждениями, включенными в пакете com.wombat.fruitbat, но отключенный в классе com.wombat.fruitbat.Brickbat, следующая команда могла использоваться:

java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>

-disableassertions и da - переключатели применяются ко всем загрузчикам класса и к системным классам (у которых нет загрузчика класса). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается для включения, утверждает во всех системных классах; см.-disablesystemassertions ниже.

-enablesystemassertions
-esa
Включение утверждает во всех системных классах (устанавливает состояние утверждения по умолчанию для системных классов true).
-disablesystemassertions
-dsa
Отключения утверждают во всех системных классах.

- фляга
Выполните программу, инкапсулировавшую в файле JAR. Первым параметром является имя файла JAR вместо имени класса запуска. Для этой опции, чтобы работать, декларация файла JAR должна содержать строку Основного класса формы: имя класса. Здесь, имя класса идентифицирует класс, имеющий     метод public static void main(String[] args), который служит начальной точкой Вашего приложения. См. ссылочную страницу инструмента Фляги и след Фляги Учебного руководства по Java для информации о работе с файлами Фляги и декларациями Файла фляги.

Когда Вы используете эту опцию, файл JAR является источником всех пользовательских классов, и другие пользовательские настройки пути к классу игнорируются.

-javaagent:jarpath [=options]
Загрузите агент языка программирования Java, см. java.lang.instrument.
-jre-restrict-search
Включайте частный на пользователя JREs в поиск версии.
-no-jre-restrict-search
Исключите частный на пользователя JREs в поиске версии.
- многословный
-verbose:class
Информация о дисплее о каждом классе загружалась.
-verbose:gc
Отчет относительно каждого события сборки "мусора".
-verbose:jni
Сообщите информацию об использовании собственных методов и другого Java Собственное Интерфейсное действие.
- версия
Выведите на экран информацию о версии и выход.
-version:release
Определяет, что версия, определенная выпуском, требуется классом или файлом фляги, определенным на командной строке. Если версия вызванной команды java не встретит эту спецификацию, и соответствующая реализация находится на системе, то соответствующая реализация будет использоваться.

выпустите не, только может определить точную версию, но и может также определить список версий, названных строкой версии. Строка версии является упорядоченным списком диапазонов версии, разделенных пробелами. Диапазон версии является или идентификатором версии, идентификатор версии, сопровождаемый звездой (*), идентификатор версии, сопровождаемый знаком "плюс" (+), или два диапазона версии объединили использование амперсанда (&). Звездообразное соответствие префикса средств, знак "плюс" означает эту версию или больше, и амперсанд означает логическое добавление этих двух диапазонов версии. Например:

-version:"1.6.0_13 1.6* & 1.6.0_10+"
Значение вышеупомянутого состоит в том, что файл класса или фляги требует или версии 1.6.0_13, или версии с 1.6 как префикс идентификатора версии, и это не меньше чем 1.6.0_10. Точный синтаксис и определение строк версии могут быть сочтены в Приложении A Сети Java Запускающимся Протоколом & Спецификацией (JSR-56) API.

Для файлов фляги обычное предпочтение должно определить требования версии в декларации файла фляги, а не на командной строке.

См. следующий раздел ПРИМЕЧАНИЙ для важной информации о политике об использовании этой опции.

-showversion
Выведите на экран информацию о версии и продолжайте.
-?
- справка
Информация об использовании дисплея и выход.
-splash:imagepath
Покажите экран-заставку с изображением, определенным imagepath.
-X
Информация о дисплее о нестандартных опциях и выходе.

Нестандартные Опции

-Xint
Работайте в только интерпретируемом режиме. Компиляция к собственному коду отключается, и все байт-коды выполняются интерпретатором. Выигрыши в производительности, предлагаемые Java адаптивный компилятор VM Клиента HotSpot, не будут присутствовать в этом режиме.
-Xbatch
Отключите фоновую компиляцию. Обычно VM скомпилирует метод как фоновую задачу, выполняя метод в режиме интерпретатора, пока фоновая компиляция не будет закончена. Флаг -Xbatch отключает фоновую компиляцию так, чтобы компиляция всех методов продолжилась как приоритетная задача пока не завершено.
-Xbootclasspath:bootclasspath
Определите разделенный от точки с запятой список каталогов, архивов JAR, и архивов ZIP, чтобы искать файлы класса начальной загрузки. Они используются вместо файлов класса начальной загрузки, включенных в Java 2 SDK. Отметьте: Приложения, которые используют эту опцию с целью переопределения класса в rt.jar, не должны быть развернуты, поскольку выполнение так нарушило бы Java 2 лицензии двоичного кода Среды выполнения.
-Xbootclasspath/a:path
Определите разделенный от точки с запятой путь directires, архивов JAR, и архивов ZIP, чтобы добавить к пути к классу начальной загрузки по умолчанию.
-Xbootclasspath/p:path
Определите разделенный от точки с запятой путь directires, архивов JAR, и архивов ZIP, чтобы предварительно ожидать перед путем к классу начальной загрузки по умолчанию. Отметьте: Приложения, которые используют эту опцию с целью переопределения класса в rt.jar, не должны быть развернуты, поскольку выполнение так нарушило бы Java 2 лицензии двоичного кода Среды выполнения.
-Xcheck:jni
Выполните дополнительные проверки на Java Собственный Интерфейс (JNI) функции. Определенно, виртуальная машина Java проверяет параметров, которые передают к функции JNI так же как данным среды выполнения прежде, чем обработать запрос JNI. Любые недопустимые данные, с которыми встречаются, указывают на проблему в собственном коде, и виртуальная машина Java завершится с фатальной ошибкой в таких случаях. Ожидайте ухудшение производительности, когда эта опция используется.
-Xfuture
Выполните строгие проверки формата файла класса. В целях назад совместимости, проверки формата по умолчанию, выполняемые Java виртуальная машина 2 SDK, не более строги чем проверки, выполняемые 1.1.x версии программного обеспечения JDK. Флаг-Xfuture включает более строгие проверки формата файла класса, которые осуществляют более близкое соответствие к спецификации формата файла класса. Разработчики поощряются использовать этот флаг, разрабатывая новый код, потому что более строгие проверки станут значением по умолчанию в будущих выпусках средства запуска приложения Java.
-Xnoclassgc
Сборка "мусора" класса отключения. Использование этой опции предотвратит восстановление памяти после загруженных классов, таким образом увеличивающих полное использование памяти. Это могло заставить OutOfMemoryError быть брошенным в некоторые приложения.
-Xincgc
Включите инкрементному сборщику "мусора". Инкрементный сборщик "мусора", который является прочь по умолчанию, уменьшит случайные длинные паузы сборки "мусора" во время выполнения программы. Инкрементный сборщик "мусора" время от времени выполнится одновременно с программой, и в течение таких времен уменьшит емкость процессора, доступную программе.
-Xloggc:file
Отчет относительно каждого события сборки "мусора", как с-verbose:gc, но регистрирует эти данные к файлу. В дополнение к информации -verbose:gc дает, каждое событие, о котором сообщают, будет preceeded к этому времени (в секундах) начиная с первого события сборки "мусора".

Всегда используйте локальную файловую систему для хранения этого файла, чтобы избежать останавливать JVM из-за сетевой задержки. Файл может быть усеченным в случае полной файловой системы, и журналирование продвинется усеченный файл. Эта опция переопределяет -verbose:gc, если обоим дают на командной строке.

-Xmsn
Определите начальный размер, в байтах, пула выделения памяти. Это значение должно быть кратным числом 1024 больше чем 1 МБ. Добавьте букву k или K, чтобы указать на килобайты, или m или M, чтобы указать на мегабайты. Значение по умолчанию выбирается во время выполнения, основанное на конфигурации системы. Для получения дополнительной информации см. Эргономику HotSpot

Примеры:

       -Xms6291456
       -Xms6144k
       -Xms6m

-Xmxn
Определите максимальный размер, в байтах, пула выделения памяти. Это значение должно кратное число 1024 больше чем 2 МБ. Добавьте букву k или K, чтобы указать на килобайты, или m или M, чтобы указать на мегабайты. Значение по умолчанию выбирается во время выполнения, основанное на конфигурации системы. Для получения дополнительной информации см. Эргономику HotSpot

Примеры:

       -Xmx83886080
       -Xmx81920k
       -Xmx80m

-Xprof
Профилирует рабочую программу, и отправляет данные профилирования стандартному выводу. Эта возможность предоставляется как утилита, которая полезна в разработке программы и не предназначается, чтобы использоваться в производственных системах.
-Xrs
Уменьшает использование сигналов операционной системы виртуальной машиной Java (JVM). Эта опция является доступным начинанием с J2SE 1.3.1.

В J2SE 1.3.0, средство Рычагов Завершения работы было добавлено, чтобы позволить аккуратное завершение работы приложения Java. Намерение состояло в том, чтобы позволить пользовательскому коду уборки (такому как заключительные соединения с базой данных) работать на завершении работы, даже если JVM завершается резко.

JVM наблюдает за консольными событиями управления, чтобы реализовать рычаги завершения работы для аварийного завершения JVM. Определенно, JVM регистрирует консольный обработчик управления, который начинает обработку рычага завершения работы и возвращает TRUE для CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, и CTRL_SHUTDOWN_EVENT.

JVM использует подобный механизм, чтобы реализовать пред1.2 опции дампа стеков потока для того, чтобы отладить цели. JVM Sun использует CTRL_BREAK_EVENT, чтобы выполнить дампы потока.

Если JVM выполняется как сервис (например, механизм сервлета для веб-сервера), это может получить CTRL_LOGOFF_EVENT, но не должно инициировать завершение работы, так как операционная система не будет фактически завершать процесс. Чтобы избежать возможной интерференции, такой как это,-Xrs параметр командной строки был добавлен, начинаясь с J2SE 1.3.1. Когда-Xrs опция используется на JVM Sun, JVM не устанавливает консольный обработчик управления, подразумевая, что это не наблюдает за или обрабатывает CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, или CTRL_SHUTDOWN_EVENT.

Есть два последствия определения-Xrs:

-Xssn
Поток набора складывает размер.

ПРИМЕЧАНИЯ:-version:release параметр командной строки не устанавливает ограничений для сложности спецификации выпуска. Однако, только ограниченное подмножество возможных спецификаций выпуска представляют звуковую политику, и только они полностью поддерживаются. Эти политики:

  1. Любая версия, представленная, не используя эту опцию.
  2. Любая версия, больше чем произвольно точный идентификатор версии. Например:
    "1.6.0_10+"
    
    Использовал бы любую версию, больше чем 1.6.0_10. Это полезно для случая, где интерфейс был представлен (или исправленная ошибка) в определенном выпуске.
  3. Версия, больше чем произвольно точный идентификатор версии, ограниченный верхней границей того семейства выпуска. Например:
    "1.6.0_10+ & 1.6*"
    
  4. "Или" выражения элементов 2. или 3. выше. Например:
    "1.6.0_10+ & 1.6* 1.7+"
    
    Это подобно элементу 2. Это полезно, когда изменение было представлено в выпуске (1.7), но также и сделано доступный в обновлениях к предыдущим выпускам.

СТАТУС ВЫХОДА

Следующие значения выхода обычно возвращаются средством запуска, обычно когда средство запуска вызывают с неправильными параметрами, серьезными ошибками, или исключениями, выданными от виртуальной машины Java. Однако, приложение Java может хотеть возвращать любое значение, используя вызов API System.exit(exitValue).

СМ. ТАКЖЕ


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами