Difference between revisions of "Lang:javac"
From EjudgeWiki
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Поддерживаемые языки прогр...") |
(...) |
||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Поддерживаемые языки программирования]]/<code>[[Lang:javac|Java]]</code> | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Поддерживаемые языки программирования]]/<code>[[Lang:javac|Java]]</code> | ||
+ | |||
+ | {| class="wikitable" style="margin:auto" | ||
+ | |- | ||
+ | | ID языка || 18 | ||
+ | |- | ||
+ | | Короткое имя || javac | ||
+ | |- | ||
+ | | Название языка || Java | ||
+ | |- | ||
+ | | Сайт || https://java.sun.com | ||
+ | |- | ||
+ | | Способ установки || Менеджером пакетов ОС (dnf, apt-get), пакет openjdk | ||
+ | |- | ||
+ | | Последняя версия || 20.0.2 (2023 год), 17.0.8 (LTS) (2023) | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" style="margin:auto" | ||
+ | |+ Переменные окружения при компиляции | ||
+ | |- | ||
+ | ! Имя переменной !! Значение по умолчанию || Описание | ||
+ | |- | ||
+ | | <code>EJUDGE_MAIN_CLASS</code> || || если переменная окружения установлена, она задаёт имя класса, содержащего функцию <code>main</code> для запуска программы; если переменная не установлена, функция <code>main</code> должна находится в классе, сданном пользователем на проверку | ||
+ | |- | ||
+ | | <code>EJUDGE_CLASSPATH</code> || || переменная задаёт дополнительный CLASSPATH для компиляции и запуска программы | ||
+ | |} | ||
+ | |||
+ | Требования к программам на Java для компиляции в ejudge: | ||
+ | * должен использоваться пакет по умолчанию, то есть в начале файла не должно присутствовать определение пакета <code>package</code> | ||
+ | * файл должен содержать единственный класс с произвольным именем, при необходимости, этот класс может содержать вложенные статические (<code>static</code>) классы | ||
+ | |||
+ | Переменная окружения <code>EJUDGE_MAIN_CLASS</code> полезна, | ||
+ | когда предподготовленные файлы копируются в каталог компиляции сдаваемой | ||
+ | программы с помощью опции | ||
+ | <code>[[serve.cfg:problem:extra_src_dir|extra_src_dir]]</code>. | ||
+ | |||
+ | Переменная окружения <code>EJUDGE_CLASSPATH</code> может использоваться | ||
+ | для задания дополнительных jar-файлов для компиляции и запуска. Эти | ||
+ | jar-файлы должны быть доступны при компиляции и выполнении, то есть, | ||
+ | если используется контейнеризация компиляции и выполнения, файлы должны | ||
+ | находиться в каталогах, доступных из контейнера. |
Latest revision as of 03:53, 15 August 2023
Навигация: Главная страница/Система ejudge/Использование/Поддерживаемые языки программирования/Java
ID языка | 18 |
Короткое имя | javac |
Название языка | Java |
Сайт | https://java.sun.com |
Способ установки | Менеджером пакетов ОС (dnf, apt-get), пакет openjdk |
Последняя версия | 20.0.2 (2023 год), 17.0.8 (LTS) (2023) |
Имя переменной | Значение по умолчанию | Описание |
---|---|---|
EJUDGE_MAIN_CLASS |
если переменная окружения установлена, она задаёт имя класса, содержащего функцию main для запуска программы; если переменная не установлена, функция main должна находится в классе, сданном пользователем на проверку
| |
EJUDGE_CLASSPATH |
переменная задаёт дополнительный CLASSPATH для компиляции и запуска программы |
Требования к программам на Java для компиляции в ejudge:
- должен использоваться пакет по умолчанию, то есть в начале файла не должно присутствовать определение пакета
package
- файл должен содержать единственный класс с произвольным именем, при необходимости, этот класс может содержать вложенные статические (
static
) классы
Переменная окружения EJUDGE_MAIN_CLASS
полезна,
когда предподготовленные файлы копируются в каталог компиляции сдаваемой
программы с помощью опции
extra_src_dir
.
Переменная окружения EJUDGE_CLASSPATH
может использоваться
для задания дополнительных jar-файлов для компиляции и запуска. Эти
jar-файлы должны быть доступны при компиляции и выполнении, то есть,
если используется контейнеризация компиляции и выполнения, файлы должны
находиться в каталогах, доступных из контейнера.