bazelbuild / bazelbuild/rules_java

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

Đang mở
#339 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
P3 question
Ngôn ngữ chính
Starlark
Star
103
Fork
102
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
build-system
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.