问题标签 [bazel-java]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在单个 bazel 构建运行中构建一组带有一个 java_toolchain 的 java_libraries 和另一组带有另一个 java_toolchain 的集合
我目前正在bazel 4.2.1
尝试建立一种习惯的某些java_library
规则java_toolchain
,而另一种习惯则很少。
据我了解,原因之一jvm_opts
就是["--module-path", "$(location @ecj//:ecj.jar)"]
只能在java_toolchain
级别上设置。此外,我们希望能够java_toochains
在单个构建运行中为不同的项目目录在同一个工作区中使用多个。
有没有办法在同一个工作区和同一个构建运行中指定一个 java_library 的 java_toolchain1 和一个不同的 java_library 的 java_toolchain2 ?
包含工具链的 BUILD.bazel 文件
包含 java_rules 的 BUILD.bazel 文件
bazel - bazel `java_test` 规则 - test.xml 仅在失败的分片上退出?
尝试bazel test ...
使用远程执行和java_test
规则运行。
我的测试有时成功,有时失败。这是另一个故事。
但我想为所有案例获取 test.xml 以检查每个测试的经过时间。test.xmlbazel-testlogs
仅在某些分片失败时才存在。
我试过了
bazel 测试 --test_output=all --test_summary=detailed ...
但没有奏效。
即使成功,我如何才能获得所有 test.xml?
bazel-java - bazel - bazel 内的 JUnit4Runner 可以与 junit `Category` 一起使用吗?
Bazel 在 com.google.testing.junit 包中有他们的JUnit4Runner,它似乎基于 junit4。
我尝试使用带有Categroy
注释的 Bazel JUnit4Runner。但对我不起作用。
1似乎支持testIncludeFilterRegexp
但不支持 junitCategroy
的.
那么来自 Bazel 的 JUnit4Runner 不支持Category
吗?我不知道。任何帮助,将不胜感激。
java - 如何通过 Bazel 从 JUnit 测试执行中找到 Java 源代码文件的路径
我想通过 JUnit 测试在我们的 monorepo 代码库中检查一个文本文件。JUnit 测试通过bazel test
命令执行。如何配置 Bazel 以将源代码目录路径(不是缓存的已编译 JAR 文件路径)传递给我的单元测试?它可能是 CLI 参数、环境变量等。
bazel - Bazel 从不链接传递的 deps
我想将构建中的一些传递 dep 更改为从不链接,而无需修改实际的 dep。这可能吗?我认为这可能与方面有关,但我不确定,而且我看到的大多数方面的示例仅读取构建图。我遇到的问题是当您有这样的构建图时:
A -> B -> D(从不链接)
A -> C -> D
A -> D(从不链接)
A 是我的二进制文件。B 依赖于 D 从不链接,C 依赖于 D,但不从不链接。我希望 D 不会出现在最终的构建 A 中,但在这种情况下确实如此。我无法控制 B & C 部门,也不想改变行为,因为这个部门是与其他人共享的。此外,尝试将 D neverlinked 添加到 A 的部门,但这不起作用。似乎存在一个不是 neverlink 的单一传递 dep 将导致它仍然最终出现在构建中。
关于如何确保 D 不包含在构建中的任何想法?
bazel - 是什么导致 Bazel 中相同目标的重复构建?
我们在 Bazel 中看到了相同目标的重复构建,并想知道是什么导致了这种情况。
这是一个示例输出:
我们无法确定问题所在。看起来这只发生在 Linux 上而不是 Mac 上。
目标a_target
是custom_rule
目标。它应该独立于平台。
custom_rule_bin
定义如下:
不同之处在于一个说“ for host ”而另一个没有。任何人都知道额外的“ for host ”构建是什么?
我确实感觉它与cfg
自定义规则上的属性有某种关系。这可能来自一些示例代码。我们在所有生成代码的规则上使用相同的值。这个自定义规则很特别,因为它需要来自 Bazel 正在构建的应用程序的代码来运行和生成额外的代码。
任何见解都会理解为什么host
会出错以及正确的值是什么。
任何想法/提示如何调试这个?
java - Bazel 在 Apple Mac M1 上构建失败
运行 bazel run //api/deployment:mynamespace.apply 时遇到以下问题如果有人也遇到同样的问题,请告诉我。
Bazel 版本:- 4.2.1 处理器:- Apple Mac M1
错误:/private/var/tmp/_bazel_akashtyagi/e7d0288ce9b933c729b37bd014ecd495/external/bazel_tools/third_party/jarjar/BUILD:10:30:没有这样的目标'@remote_java_tools_darwin//:JarJar':目标'JarJar'未在包''定义中声明由 /private/var/tmp/_bazel_akashtyagi/e7d0288ce9b933c729b37bd014ecd495/external/remote_java_tools_darwin/BUILD 引用并由 '@bazel_tools//third_party/jarjar:jarjar_import' 引用
bazel - bazel WORKSPACE 文件中的 RULES_JVM_EXTERNAL_TAG 和 RULES_JVM_EXTERNAL_SHA 是什么?
我正在尝试从 maven 迁移到 bazel。我在 bazel 文档中看到了教程,它有一个示例 WORKSPACE 文件。关联
有人可以解释一下这里发生了什么吗?给出的示例 WORKSPACE 文件的其余部分是不言自明的,我们在其中说明项目需要哪些 maven 依赖项。谢谢。
maven-plugin - 我们如何从 Bazel 运行 aspectj-maven-plugin 来编织类?
我有一个 Maven 项目,其中有一些使用 AspectJ 库编写的自定义注释。在 Maven POM 中,我们使用了一个 AspectJ 插件,它为带注释的类进行编译时编织。有没有办法在构建 JAR 时在 Bazel 中使用这个插件,或者是否有任何其他插件可以用于 AspectJ 和 Bazel?
如果有人已经为此提供了解决方案,或者可以引导我朝着正确的方向前进,那将非常有帮助。
java - java-language-server vscode 扩展 - 启动客户端失败
我正在尝试使用java-language-server vscode 扩展,但我收到扩展未启动的错误:
看起来该行正在尝试运行此脚本:dist\lang_server_windows.sh
. 当我手动运行该脚本时,我收到此错误:
这让我认为在该脚本运行之前需要运行一些东西。
没有比这更深入的了。我听说过有关此扩展的好消息,但无法使其正常工作。有没有人遇到过这个问题或能够帮助我解决它?
我的java -version
结果在
操作系统:Windows 11 Home v22000.493
VS Code:VSCode-Insiders(最新版)
附带说明一下,如果有人有一个很好的 Java 的 vscode bazel 设置,我很想听听有关设置的任何提示。