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-файлы должны быть доступны при компиляции и выполнении, то есть, если используется контейнеризация компиляции и выполнения, файлы должны находиться в каталогах, доступных из контейнера.