Нужно ли мне устанавливать Java 8 SDK, чтобы использовать Bazel Build для сборки проекта C ++?

Этот вопрос состоит из двух частей:

  1. Из того, что я вижу в https://github.com/bazelbuild/bazel/tree/master/src/main, Bazel написан на смеси C ++, Java и некоторых файлов .sh Linux. Я не уверен, что ядро ​​на самом деле Java или C ++. Двоичный файл Windows на странице выпуска - это .exe, а не .jar, означает ли это, что мне не нужен Java SDK, если мне никогда не нужно использовать Bazel для сборки Java?

  2. Если первая часть неверна, это должно быть Java 8 SDK или достаточно Java 8 JRE?


person John London    schedule 28.03.2017    source источник


Ответы (3)


Да, вам нужен JDK, по крайней мере, JDK 8. Большая часть Bazel написана на Java.

На всех платформах Bazel представляет собой самораспаковывающийся двоичный файл, в Windows - это самораспаковывающийся EXE-файл. Сообщение, которое вы видите при первом запуске Bazel («Извлечение установки Bazel ...»), также намекает на это.

РЕДАКТИРОВАТЬ: Я думаю, что JRE недостаточно, даже если вы не создаете никаких правил Java, но я этого не подтвердил.

person László    schedule 28.03.2017

Вам нужен JDK, и лучше всего Java 8. Я использовал это с Java 7 некоторое время назад, но сейчас она устарела.

Вам нужен JDK, потому что Bazel - это просто инструмент управления сборкой. Он вызывает другие инструменты для компиляции и сборки проектов Java. То же самое для проектов C / C ++, проектов Python и т. Д.

person Horia Coman    schedule 28.03.2017
comment
Он вызывает другие инструменты для компиляции и сборки То, что я знаю, но почему Bazel должен вызывать Java SDK, когда я создаю двоичный файл C ++? - person John London; 28.03.2017
comment
Ох, я понял. Тогда у вас должно быть все в порядке только с .exe, а также с дополнительной настройкой, которая им нужна. Сам проект ориентирован на Java, с некоторыми вспомогательными функциями на C ++ - если посмотреть на кодовую базу, то большая часть кода находится в частях Java. Поэтому, если вы его создавали, вам понадобится SDK. - person Horia Coman; 28.03.2017

Другие ответы здесь кажутся устаревшими. Согласно linux в bazel документация по установке, jdk не нужен, а jre идет в комплекте с bazel:

Шаг 3. Установите JDK (необязательно) Bazel включает в себя частную интегрированную JRE в качестве среды выполнения и не требует от вас установки какой-либо конкретной версии Java.

Однако, если вы хотите создать код Java с помощью Bazel, вам необходимо установить JDK.

person samlaf    schedule 18.06.2021