diff --git a/MODULE.bazel b/MODULE.bazel
index b9b37e5b6c6a94..12b52e2a345276 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -24,7 +24,7 @@ bazel_dep(name = "zstd-jni", version = "1.5.2-3.bcr.1")
bazel_dep(name = "blake3", version = "1.5.1.bcr.1")
bazel_dep(name = "zlib", version = "1.3.1.bcr.3")
bazel_dep(name = "rules_cc", version = "0.0.12")
-bazel_dep(name = "rules_java", version = "8.0.1")
+bazel_dep(name = "rules_java", version = "8.1.0")
bazel_dep(name = "rules_graalvm", version = "0.11.1")
bazel_dep(name = "rules_proto", version = "6.0.2")
bazel_dep(name = "rules_jvm_external", version = "6.0")
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index ee9e0fc966de0b..93e3222f9b12cb 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -145,8 +145,8 @@
"https://bcr.bazel.build/modules/rules_java/7.4.0/MODULE.bazel": "a592852f8a3dd539e82ee6542013bf2cadfc4c6946be8941e189d224500a8934",
"https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe",
"https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1",
- "https://bcr.bazel.build/modules/rules_java/8.0.1/MODULE.bazel": "025095f42fdf3c1a2320279c2f50fabb78e128b9f037de29b43398fdd1e4e9f2",
- "https://bcr.bazel.build/modules/rules_java/8.0.1/source.json": "1b2ae4813fd0f7d3c1f5d85185d89a59ee2bfabb0076b702f37c5f91ee120ac4",
+ "https://bcr.bazel.build/modules/rules_java/8.1.0/MODULE.bazel": "bc30e2cf150368bca47785c8e239d10c96be1b0661cdbef79297b69efb540e48",
+ "https://bcr.bazel.build/modules/rules_java/8.1.0/source.json": "e6b90baf4ff92771388d8771d9bfb72f20ecfa3f06b16398374676cdbf9537d3",
"https://bcr.bazel.build/modules/rules_jvm_external/6.0/MODULE.bazel": "37c93a5a78d32e895d52f86a8d0416176e915daabd029ccb5594db422e87c495",
"https://bcr.bazel.build/modules/rules_jvm_external/6.0/source.json": "73cc8818203a182e7374adf137f428d276190b2e2bef3022c231990cf0e594aa",
"https://bcr.bazel.build/modules/rules_kotlin/1.9.0/MODULE.bazel": "ef85697305025e5a61f395d4eaede272a5393cee479ace6686dba707de804d59",
diff --git a/site/en/docs/user-manual.md b/site/en/docs/user-manual.md
index ec0f27817ebe1c..cf6706faf7a0a8 100644
--- a/site/en/docs/user-manual.md
+++ b/site/en/docs/user-manual.md
@@ -327,14 +327,14 @@ This option specifies the version of Java sources. For example:
compiles and allows only constructs compatible with Java 8 specification.
-Default value is 8. -->
-Possible values are: 8, 9, 10, 11, 14, 15, and 21 and may be extended by
+Default value is 11. -->
+Possible values are: 8, 9, 10, 11, 17, and 21 and may be extended by
registering custom Java toolchains using `default_java_toolchain`.
#### `--tool_java_language_version={{ "" }}version{{ "" }}` {:#tool-java-language-version}
The Java language version used to build tools that are executed during a build.
-Default value is 8.
+Default value is 11.
#### `--java_runtime_version={{ "" }}version{{ "" }}` {:#java-runtime-version}
@@ -349,7 +349,7 @@ downloads JDK 11 from a remote repository and run the Java application using it.
Default value is `local_jdk`.
Possible values are: `local_jdk`, `local_jdk_{{ "" }}version{{ "" }}`,
-`remotejdk_11`, and `remotejdk_17`.
+`remotejdk_11`, `remotejdk_17`, and `remotejdk_21`.
You can extend the values by registering custom JVM using either
`local_java_repository` or `remote_java_repository` repository rules.
diff --git a/src/MODULE.tools b/src/MODULE.tools
index b49cde3fdbcba3..3e2d645f52900c 100644
--- a/src/MODULE.tools
+++ b/src/MODULE.tools
@@ -37,7 +37,7 @@ use_repo(buildozer_binary, "buildozer_binary")
# Dependencies used to auto-load removed symbols and rules from Bazel (due to Starlarkification)
# See also: --incompatible_autoload_externally, AutoloadSymbols
-bazel_dep(name = "rules_java", version = "8.0.1")
+bazel_dep(name = "rules_java", version = "8.1.0")
bazel_dep(name = "rules_cc", version = "0.0.12")
bazel_dep(name = "rules_python", version = "0.36.0")
bazel_dep(name = "rules_shell", version = "0.1.1")
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
index ee05d296ca03fc..0114de1eaaef51 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/MockProtoSupport.java
@@ -391,6 +391,18 @@ public static void setupWorkspace(MockToolsConfig config) throws IOException {
def proto_library(**kargs):
native.proto_library(**kargs)
""");
+ config.create(
+ "protobuf_workspace/bazel/java_proto_library.bzl",
+ """
+ def java_proto_library(**kargs):
+ native.java_proto_library(**kargs)
+ """);
+ config.create(
+ "protobuf_workspace/bazel/java_lite_proto_library.bzl",
+ """
+ def java_lite_proto_library(**kargs):
+ native.java_lite_proto_library(**kargs)
+ """);
config.create(
"protobuf_workspace/bazel/toolchains/proto_toolchain.bzl",
"load(':proto_toolchain_rule.bzl', _proto_toolchain_rule = 'proto_toolchain')",
diff --git a/src/test/shell/integration/discard_graph_edges_test.sh b/src/test/shell/integration/discard_graph_edges_test.sh
index 2bd746f3d32db2..26b53743cf67f2 100755
--- a/src/test/shell/integration/discard_graph_edges_test.sh
+++ b/src/test/shell/integration/discard_graph_edges_test.sh
@@ -280,7 +280,7 @@ function test_packages_cleared() {
[[ "$globs_count" -le 1 ]] \
|| fail "globs count $globs_count too high"
module_count="$(extract_histogram_count "$histo_file" 'eval.Module$')"
- [[ "$module_count" -le 265 ]] \
+ [[ "$module_count" -le 270 ]] \
|| fail "Module count $module_count too high"
ct_count="$(extract_histogram_count "$histo_file" \
'RuleConfiguredTarget$')"
diff --git a/src/test/tools/bzlmod/MODULE.bazel.lock b/src/test/tools/bzlmod/MODULE.bazel.lock
index 3db5588d507e15..bc6af13bb25399 100644
--- a/src/test/tools/bzlmod/MODULE.bazel.lock
+++ b/src/test/tools/bzlmod/MODULE.bazel.lock
@@ -9,7 +9,6 @@
"https://bcr.bazel.build/modules/abseil-cpp/20230802.1/source.json": "035b6f1911e17340db722bbc9158f830ee6d5dedba4cb3bcb9e25e590808a32c",
"https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8",
"https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015",
- "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7",
"https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a",
"https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8",
"https://bcr.bazel.build/modules/bazel_skylib/1.2.0/MODULE.bazel": "44fe84260e454ed94ad326352a698422dbe372b21a1ac9f3eab76eb531223686",
@@ -50,8 +49,8 @@
"https://bcr.bazel.build/modules/rules_java/5.3.5/MODULE.bazel": "a4ec4f2db570171e3e5eb753276ee4b389bae16b96207e9d3230895c99644b86",
"https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel": "30d9135a2b6561c761bd67bd4990da591e6bdc128790ce3e7afd6a3558b2fb64",
"https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe",
- "https://bcr.bazel.build/modules/rules_java/8.0.1/MODULE.bazel": "025095f42fdf3c1a2320279c2f50fabb78e128b9f037de29b43398fdd1e4e9f2",
- "https://bcr.bazel.build/modules/rules_java/8.0.1/source.json": "1b2ae4813fd0f7d3c1f5d85185d89a59ee2bfabb0076b702f37c5f91ee120ac4",
+ "https://bcr.bazel.build/modules/rules_java/8.1.0/MODULE.bazel": "bc30e2cf150368bca47785c8e239d10c96be1b0661cdbef79297b69efb540e48",
+ "https://bcr.bazel.build/modules/rules_java/8.1.0/source.json": "e6b90baf4ff92771388d8771d9bfb72f20ecfa3f06b16398374676cdbf9537d3",
"https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7",
"https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909",
"https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036",
@@ -64,8 +63,7 @@
"https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c",
"https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06",
"https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/MODULE.bazel": "1e5b502e2e1a9e825eef74476a5a1ee524a92297085015a052510b09a1a09483",
- "https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73",
- "https://bcr.bazel.build/modules/rules_proto/6.0.2/source.json": "17a2e195f56cb28d6bbf763e49973d13890487c6945311ed141e196fb660426d",
+ "https://bcr.bazel.build/modules/rules_proto/6.0.0-rc1/source.json": "8d8448e71706df7450ced227ca6b3812407ff5e2ccad74a43a9fbe79c84e34e0",
"https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f",
"https://bcr.bazel.build/modules/rules_python/0.36.0/MODULE.bazel": "a4ce1ccea92b9106c7d16ab9ee51c6183107e78ba4a37aa65055227b80cd480c",
"https://bcr.bazel.build/modules/rules_python/0.36.0/source.json": "b79cbb7b2ae1751949e2f6ee6692822e4ffd13ca1e959ce99abec4ac7666162a",