我正在尝试使用 lombok.jar 注释的文件使用 Java 8 早期访问版本之一使用 maven 3 进行编译。我已将 maven 配置为使用 java 8 编译器。我正在编译的代码在 maven central 中有一个为 lombok 0.12 定义的依赖项。但是,当我使用 maven 编译时,出现以下错误:
[ERROR] symbol: variable log
[ERROR] location: class Foo
[ERROR] C:.....\Foo.java:[319,33] error: cannot find symbol
我在 Debug模式下运行了 maven,并且指定的类路径条目指出 lombok 0.12 jar 文件位于项目的类路径中。此外,我尝试在我的类路径中专门设置 lombok.jar(并且我可以在 env.CLASSPATH 中在 maven Debug模式中看到)它创建了相同的结果。
一切都在 eclipse 中构建和编译得很好——我在 maven 配置/环境中做错了什么,以至于我无法在 eclipse 之外编译成功?
最佳答案
回答我自己的问题——问题在于 lombok (0.12.0) 的版本在 java 8 上不能很好地工作。为了解决这个问题,我使用了 cutting edge version of lombok ,将它安装到我本地的 maven repo 中
mvn install:install-file -Dfile=lombok-edge.jar -DgroupId=org.projectlombok -DartifactId=lombok-edge -Dversion=0.12.1 -Dpackaging=jar
然后相应地更改了我的 pom 中的依赖项。
一旦我这样做了,我就可以从命令行 maven 编译了。
关于maven-3 - 使用 maven 和 java 8 使用 lombok 进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19169744/