Как собрать и запустить с использованием новейшей версии JDK? - PullRequest
1 голос
/ 31 января 2020

Bazel загружает и использует старую Java 11.0.1. С тех пор было пять выпусков Java 11 с обновлениями безопасности .

Я могу заставить Bazel использовать мой локальный JDK , но это имеет очевидные недостатки.

Как мне собрать безопасную актуальную версию JDK?

Ответы [ 2 ]

1 голос
/ 31 января 2020

Я совсем не уверен, что это необходимо. (См. Мои комментарии к вопросу.)

Однако, если вы действительно хотите изменить встроенный в Bazel Java, вы можете воспользоваться одним из следующих подходов:

  1. Следуйте инструкциям в Вклад в Bazel . Обратите внимание, что вам нужно установить Bazel для сборки Bazel. Я предполагаю, что вы можете выбрать (каким-то образом) Java, который будет встроен в «распространяемый» ... или загружен им, если это то, что происходит.
  2. Есть " compile. sh "файл, который может быть альтернативой. (Я не слишком внимательно смотрел на это.)
  3. Вы могли бы, вероятно, загрузить и установить Bazel обычным способом и настроить установку, чтобы заменить встроенный Java тем, что вы хотите. Например, попробуйте заменить внутреннее дерево установки Java символической ссылкой на вашу системную Java установку, которая обновляется с помощью диспетчера пакетов Linux.
0 голосов
/ 31 января 2020

В Bazel 2.0.0 есть опция --javabse (а также в некоторых других версиях Bazel):

- javabase (label) Эта опция устанавливает метку базы Java установка, используемая для запуска bazel, тестирования bazel и для Java двоичных файлов, созданных по правилам java_binary и java_test.

Просто добавьте файл .bazelrc вместе с файлом WORKSPACE:

.bazelr c

build --javabase=//my_tools/my_own_jdk

Посмотрите также на java_runtime()

...