Problem
I have a package with a java_library
configured with javaopts = ["-Werror"]
. Building was successful with 3.6.0.
After upgrading to 4.0.0 I get
warning: [path] bad path element "some/path/some.jar" : no such file or directory
More inspection revealed that these jars are declared in the META-INF/MANIFEST.MF Class-Path in some of our dependencies that are being fetched through maven_install
. And, obviously, they are not found in the referred to directory in the warning message.
I tried adding "-Xlint:-path" to javacopts
in our BUILD file, but warnings still exist.
Worth mentioning that removing the -Werror
does not fail the build (although the warnings of course still exist).
To Reproduce
To reproduce on a simpler project, I replicated the case with the example repo from the java tutorial on bazel docs.
git clone https://github.com/bazelbuild/examples
Then applying this git patch
diff --git a/java-maven/BUILD b/java-maven/BUILD
index 60cdd7b..370b6f4 100644
--- a/java-maven/BUILD
+++ b/java-maven/BUILD
@@ -5,7 +5,8 @@ package(default_visibility = ["//visibility:public"])
java_library(
name = "java-maven-lib",
srcs = glob(["src/main/java/com/example/myproject/*.java"]),
- deps = ["@maven//:com_google_guava_guava"],
+ deps = ["@maven//:com_google_guava_guava", "@maven//:org_apache_beam_beam_model_job_management"],
+ javacopts = ["-Werror", "-Xlint:-path"]
)
java_binary(
diff --git a/java-maven/WORKSPACE b/java-maven/WORKSPACE
index 1cbdf12..aa0df88 100644
--- a/java-maven/WORKSPACE
+++ b/java-maven/WORKSPACE
@@ -17,6 +17,7 @@ maven_install(
artifacts = [
"junit:junit:4.12",
"com.google.guava:guava:28.0-jre",
+ "org.apache.beam:beam-model-job-management:2.19.0",
],
fetch_sources = True,
repositories = [
bazel build //...
I also tried bazel build --javacopt="-Werror -Xlint:-path" //...
, but also no luck
Can anyone advise what am I doing wrong and how to achieve suppressing this specific warning (path warnings) while still having -Werror
?
question from:
https://stackoverflow.com/questions/66051294/suppress-java-path-warnings-while-werror-using-bazel-version-4-0-0 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…