如何构建使用 java 注释代码生成的混合 java/scala 项目?

How do I build a mixed java/scala project which uses java annotation code generation?

我正在创建一个混合 scala + java 项目,其中 java 代码使用 java 注释来生成 java 代码。

java 代码生成是我正在使用的库 (truffle) 的要求

我已经为 java 和 scala 创建了一个带有单独模块的 sbt 和 mill 项目,但是当编译 java 时,两个构建工具都会产生以下警告:

[warn] Could not determine source for class ...

我很确定这是因为这两个工具都使用 zinc 进行增量编译,而 zinc 看不到谁在生成 java 文件。

有没有办法在使用注释生成代码的java源文件中添加提示,以便zinc能够理解依赖关系?

我也乐于接受有关如何构建使用 java 使用注释生成代码的混合 java/scala 项目的其他建议。

我找到的最佳解决方案是使用 maven build,它支持 java 注释代码生成,也支持 scala。 Maven 对于 Scala 项目来说是一个不寻常的选择,但如果使用基于注释的代码生成,它似乎是一个必要的妥协。它还具有良好的 intelij 支持。