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

Java代码生成是我正在使用的库的要求(松露)

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


  [警告]无法确定课程的来源...


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

有什么方法可以向使用批注生成代码的java源文件中添加提示,以便锌可以理解依赖关系?

我也对有关如何构造使用注释的Java代码生成的混合Java / scala项目的其他建议持开放态度。

最佳答案

我发现最好的解决方案是使用支持Java注释代码生成并支持scala的Maven构建。对于Scala项目,Maven是一个不寻常的选择,但是如果使用基于注释的代码生成,Maven似乎是一个必要的折衷方案。它还具有良好的intelij支持。

08-25 10:57
查看更多