Lang:javac

From EjudgeWiki

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