编译Java / Scala混合项目和Lombok时出错

时间:2012-06-23 17:42:03

标签: java scala maven lombok

我正在尝试编译一个Maven Java / Scala混合项目,该项目具有依赖于带有lombok注释的Java bean的Scala类。我尝试将lombok jar文件添加到Scala编译器的引导类路径以及lombok代理,但编译器仍然无法找到生成的getter。 Scala编译器有没有办法识别lombok注释?如果没有,那么什么是一个好的解决方法?

请注意,我正在尝试避免引入另一个maven项目,仅用于编译此bean,因为bean在逻辑上属于同一个项目。此外,我无法在Scala中重写bean,因为它稍后在GWT项目中使用。

谢谢,

1 个答案:

答案 0 :(得分:15)

我认为你无法避免它。正常的Scala / Java集成工作原理如下:

  1. Scala是第一位的,因为Java对Scala一无所知。
    1. Scalac解析Java文件并了解可见元素。
    2. Scalac读取Scala文件并生成类文件。
  2. Java最后,读取Java文件和Scala生成的类文件。
  3. 显而易见的问题是Scala对Lombok注释一无所知,所以它无法弄清楚它产生的元素。

    如果你没有从Java到Scala的任何依赖,你可以简单地颠倒顺序:让Java先行,让Scala在其类路径中包含javac的输出类文件。

    否则,我想你需要分解它。