Spec-Zone .ru
спецификации, руководства, описания, API
|
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:hprof
-agentlib:jdwp=help
-agentlib:hprof=help
Для получения дополнительной информации см. Параметры командной строки Агента JVMTI.
Если - путь к классу и - CP не используется, и ПУТЬ К КЛАССУ не устанавливается, пользовательский путь к классу состоит из текущего каталога (.
).
Как специальное удобство, элемент пути к классу, содержащий базовое имя *
считается эквивалентным определению списка всех файлов в каталоге с расширением .jar
или .JAR
(программа java не может сказать различие между этими двумя вызовами).
Например, если каталог foo
содержит a.jar
и b.JAR
, тогда элемент пути к классу foo/*
расширяется до a A.jar:b.JAR
, за исключением того, что порядок файлов фляги является неуказанным. Все файлы фляги в указанном каталоге, даже скрытых, включаются в список. Запись пути к классу, состоящая просто из *
расширяется до списка всех файлов фляги в текущем каталоге. CLASSPATH
переменная окружения, где определено, будет так же расширена. Любое подстановочное расширение пути к классу происходит прежде, чем виртуальная машина Java запускается - никакая программа Java никогда не будет видеть нерасширенные подстановочные знаки кроме, запрашивая среду. Например; вызывая System.getenv("CLASSPATH").
Для получения дополнительной информации по путям к классам см. Установку Пути к классу.
java -Dfoo="some string" SomeClass
Без параметров enableassertions или - земля включает утверждениям. С одним параметром, заканчивающимся в "...", переключатель включает утверждениям в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель включает утверждениям в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель включает утверждениям в указанном классе.
Если единственная командная строка содержит многократные экземпляры этих переключателей, они обрабатываются в порядке прежде, чем загрузить любые классы. Так, например, чтобы выполнить программу с утверждениями, включенными только в пакете com.wombat.fruitbat (и любых подпакетах), следующая команда могла использоваться:
java -ea:com.wombat.fruitbat... <Main Class>
-enableassertions и - переключатели земли применяются ко всем загрузчикам класса и к системным классам (у которых нет загрузчика класса). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается для включения, утверждает во всех системных классах; см.-enablesystemassertions ниже.
Без параметров disableassertions или da - отключает утверждения. С одним параметром, заканчивающимся в "...", переключатель отключает утверждения в указанном пакете и любых подпакетах. Если параметром является просто "...", переключатель отключает утверждения в неназванном пакете в текущем рабочем каталоге. С одним параметром, не заканчивающимся в "...", переключатель отключает утверждения в указанном классе.
Чтобы выполнить программу с утверждениями, включенными в пакете com.wombat.fruitbat, но отключенный в классе com.wombat.fruitbat.Brickbat, следующая команда могла использоваться:
java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat <Main Class>
-disableassertions и da - переключатели применяются ко всем загрузчикам класса и к системным классам (у которых нет загрузчика класса). Есть одно исключение к этому правилу: в их форме без параметров переключатели не применяются к системе. Это облегчает включать, утверждает во всех классах за исключением системных классов. Отдельный переключатель обеспечивается для включения, утверждает во всех системных классах; см.-disablesystemassertions ниже.
Когда Вы используете эту опцию, файл JAR является источником всех пользовательских классов, и другие пользовательские настройки пути к классу игнорируются.
выпустите не, только может определить точную версию, но и может также определить список версий, названных строкой версии. Строка версии является упорядоченным списком диапазонов версии, разделенных пробелами. Диапазон версии является или идентификатором версии, идентификатор версии, сопровождаемый звездой (*), идентификатор версии, сопровождаемый знаком "плюс" (+), или два диапазона версии объединили использование амперсанда (&). Звездообразное соответствие префикса средств, знак "плюс" означает эту версию или больше, и амперсанд означает логическое добавление этих двух диапазонов версии. Например:
-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.
Для файлов фляги обычное предпочтение должно определить требования версии в декларации файла фляги, а не на командной строке.
См. следующий раздел ПРИМЕЧАНИЙ для важной информации о политике об использовании этой опции.
Всегда используйте локальную файловую систему для хранения этого файла, чтобы избежать останавливать JVM из-за сетевой задержки. Файл может быть усеченным в случае полной файловой системы, и журналирование продвинется усеченный файл. Эта опция переопределяет -verbose:gc, если обоим дают на командной строке.
Примеры:
-Xms6291456 -Xms6144k -Xms6m
Примеры:
-Xmx83886080 -Xmx81920k -Xmx80m
В 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:
ПРИМЕЧАНИЯ:-version:release параметр командной строки не устанавливает ограничений для сложности спецификации выпуска. Однако, только ограниченное подмножество возможных спецификаций выпуска представляют звуковую политику, и только они полностью поддерживаются. Эти политики:
"1.6.0_10+"Использовал бы любую версию, больше чем 1.6.0_10. Это полезно для случая, где интерфейс был представлен (или исправленная ошибка) в определенном выпуске.
"1.6.0_10+ & 1.6*"
"1.6.0_10+ & 1.6* 1.7+"Это подобно элементу 2. Это полезно, когда изменение было представлено в выпуске (1.7), но также и сделано доступный в обновлениях к предыдущим выпускам.
Следующие значения выхода обычно возвращаются средством запуска, обычно когда средство запуска вызывают с неправильными параметрами, серьезными ошибками, или исключениями, выданными от виртуальной машины Java. Однако, приложение Java может хотеть возвращать любое значение, используя вызов API System.exit(exitValue)
.
0
: Успешное завершение.>0
: Ошибка произошла.