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

标签 java scala maven lombok

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

请注意,我试图避免引入另一个 Maven 项目只是为了首先编译这个 bean,因为这个 bean 在逻辑上属于同一个项目。此外,我无法在 Scala 中重写 bean,因为它稍后会在 GWT 项目中使用。

谢谢,

最佳答案

我想你将无法避免它。正常的 Scala/Java 集成是这样工作的:

  1. Scala 先学,因为 Java 对 Scala 一无所知。
    1. Scalac 解析 Java 文件并了解可见元素。
    2. Scalac 读取 Scala 文件并生成类文件。
  2. Java 排在最后,读取 Java 文件以及 Scala 生成的类文件。

明显的问题是 Scala 对 Lombok 注解一无所知,因此无法弄清楚它生成的元素。

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

否则,我想您需要将其拆分。

关于java - 编译 Java/Scala 混合项目和 Lombok 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171631/

相关文章:

javascript - 我们如何在 lift 中使用 net.liftweb.http.js.JsCmds.Script 对象?

java - 我正在寻找 permgen 的垃圾收集策略?

Java - 为什么打印出 "007F"?

scala - Gradle Scala 插件 - 如何指定 Scala 版本

scala - 如何将 ADT 列表分成其变体?

angular - 在 tomcat 8 服务器上重写 Angular 4 的 URL

Maven 动态更改属性(运行时)

maven-jaxb2-plugin 失败,必须存在 JAXB 版本属性

java - 如何使用 Java 测量网络的响应时间?

java - java将String(FF FF FF FF FF FF FF FF FF)转换为int数组