Thời gian chạy Java

Báo cáo vấn đề Xem nguồn Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Thông tin về môi trường thời gian chạy Java đang được sử dụng.

Hội viên

default_cds

File JavaRuntimeInfo.default_cds

Trả về bản lưu trữ CDS mặc định của JDK. Có thể trả về None.

tệp

depset JavaRuntimeInfo.files

Trả về các tệp trong môi trường thời gian chạy Java.

hermetic_files

depset JavaRuntimeInfo.hermetic_files

Trả về các tệp trong môi trường thời gian chạy Java cần thiết cho các bản triển khai kín.

hermetic_static_libs

sequence JavaRuntimeInfo.hermetic_static_libs

Trả về thư viện tĩnh JDK.

java_executable_exec_path

string JavaRuntimeInfo.java_executable_exec_path

Trả về execpath của tệp thực thi Java.

java_executable_runfiles_path

string JavaRuntimeInfo.java_executable_runfiles_path

Trả về đường dẫn của tệp thực thi Java trong cây tệp chạy. Bạn chỉ nên sử dụng tính năng này khi cần truy cập vào JVM trong quá trình thực thi tệp nhị phân hoặc kiểm thử do Bazel tạo. Cụ thể, khi cần gọi JVM trong một hành động, bạn nên sử dụng java_executable_exec_path.

java_home

string JavaRuntimeInfo.java_home

Trả về execpath của thư mục gốc của quá trình cài đặt Java.

java_home_runfiles_path

string JavaRuntimeInfo.java_home_runfiles_path

Trả về đường dẫn của quá trình cài đặt Java trong cây tệp chạy. Bạn chỉ nên sử dụng tính năng này khi cần truy cập vào JDK trong quá trình thực thi tệp nhị phân hoặc kiểm thử do Bazel tạo. Cụ thể, khi cần JDK trong một hành động, bạn nên sử dụng java_home.

lib_ct_sym

File JavaRuntimeInfo.lib_ct_sym

Trả về tệp lib/ct.sym. Có thể trả về None.

lib_modules

File JavaRuntimeInfo.lib_modules

Trả về tệp lib/modules. Có thể trả về None.

to_json

string JavaRuntimeInfo.to_json()

Không dùng nữa. API này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng ---incompatible_struct_has_no_methods. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá.
Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc khác, danh sách các loại này hoặc từ điển có khoá và giá trị chuỗi của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json()
# {"key":123}

struct(key=True).to_json()
# {"key":true}

struct(key=[1, 2, 3]).to_json()
# {"key":[1,2,3]}

struct(key='text').to_json()
# {"key":"text"}

struct(key=struct(inner_key='text')).to_json()
# {"key":{"inner_key":"text"}}

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json()
# {"key":[{"inner_key":1},{"inner_key":2}]}

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json()
# {"key":{"inner_key":{"inner_inner_key":"text"}}}
.

Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ô nhiễm không gian tên trường cấu trúc.

to_proto

string JavaRuntimeInfo.to_proto()

Không dùng nữa. API này không còn được dùng nữa và sẽ sớm bị xoá. Vui lòng không phụ thuộc vào tính năng này. Tính năng này bị tắt bằng ---incompatible_struct_has_no_methods. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá.
Tạo tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc hoặc từ điển hoặc danh sách của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto()
# key: 123

struct(key=True).to_proto()
# key: true

struct(key=[1, 2, 3]).to_proto()
# key: 1
# key: 2
# key: 3

struct(key='text').to_proto()
# key: "text"

struct(key=struct(inner_key='text')).to_proto()
# key {
#   inner_key: "text"
# }

struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto()
# key {
#   inner_key: 1
# }
# key {
#   inner_key: 2
# }

struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto()
# key {
#    inner_key {
#     inner_inner_key: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Không dùng nữa: hãy sử dụng proto.encode_text(x).

version

int JavaRuntimeInfo.version

Phiên bản tính năng Java của môi trường thời gian chạy. Giá trị này là 0 nếu không xác định được phiên bản.