bazelbuild / bazelbuild/rules_java

no such target '@@+toolchains+local_jdk//:runtime_toolchain_definition' on Windows when JAVA_HOME is set to mapped drive

Abierto
#339 1 comentario 0 reacciones 0 asignados Ver en GitHub
P3 question
Lenguaje dominante
Starlark
Estrellas
103
Forks
102
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I set JAVA_HOME to a mapped network drive copy of JDK 21 on Windows.
This is with latest rules_java and all rules_java releases back to 8.5 (I stopped searching at that point)

```
set JAVA_HOME=t:\jdk\jdk21
Bazel build fails

D:\workdir\github\rules_java>bazel build //... --noincompatible_disallow_empty_glob
ERROR: Traceback (most recent call last):
File "D:/udu/b/4skhmsqa/external/+toolchains+local_jdk/BUILD.bazel", line 78, column 66, in
java = glob(["bin/java.exe", "bin/java"], allow_empty = True)[0],
Error: index out of range (index is 0, but sequence has 0 elements)
ERROR: D:/workdir/github/rules_java/toolchains/BUILD:285:14: While resolving toolchains for target //toolchains:platformclasspath (4e49fa3): invalid registered toolchain '@local_jdk//:runtime_toolchain_definition': no such target '@@+toolchains+local_jdk//:runtime_toolchain_definition': target 'runtime_toolchain_definition' not declared in package '' defined by D:/udu/b/4skhmsqa/external/+toolchains+local_jdk/BUILD.bazel
Use --verbose_failures to see the command lines of failed build steps.
ERROR: Analysis of target '//toolchains:platformclasspath' failed; build aborted
INFO: Elapsed time: 1.601s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
```

set JAVA_HOME to a local copy
```
xcopy /E t:\jdk\jdk21 d:\jdk\jdk21
set JAVA_HOME=d:\jdk\jdk21

Bazel build succeeds
```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce with JAVA_HOME set to the mapped drive path t:\jdk\jdk21, then compare the failing external +toolchains+local_jdk/BUILD.bazel at line 78 with the successful local-drive case. Inspect toolchains/BUILD at line 285 and the empty glob result; done means Bazel build succeeds with the mapped-drive JDK and the runtime toolchain is registered.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
build-system
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.