And*_*rey 5 lombok java-9 java-module module-info
我在将项目迁移到Java 9 时遇到了问题。
更新 Java 9 后,我尝试运行项目,但遇到编译器错误:-
Error:(6, 1) java: package javax.annotation is not visible
(package javax.annotation is declared in module java.xml.ws.annotation, which is not in the module graph)
Run Code Online (Sandbox Code Playgroud)
但我找到了解决方法。我添加了lombok.config文件。
然后将module-info.java文件添加到项目编译器后再次显示错误
Error:(10, 26) java: variable title not initialized in the default constructor
Run Code Online (Sandbox Code Playgroud)
项目示例:
我们有实体Store:
@AllArgsConstructor
@Getter
public class Story {
private final String title;
}
Run Code Online (Sandbox Code Playgroud)
在 root 的包中,我有module-info.java内容:
module javanine {
requires lombok;
}
Run Code Online (Sandbox Code Playgroud)
在 root 的项目中,我有 lombok.config文件:
lombok.addJavaxGeneratedAnnotation = false
lombok.anyConstructor.suppressConstructorProperties = true
config.stopBubbling = true
Run Code Online (Sandbox Code Playgroud)
在代码中的某处我称之为:
public static void main(String[] args) {
Story story = new Story("how as");
System.out.println(story.getTitle());
}
Run Code Online (Sandbox Code Playgroud)
Eug*_*kov 11
只需按如下方式配置您的模块:
module moduleName {
requires static lombok;
}
Run Code Online (Sandbox Code Playgroud)
我已经做了一些修复 lombok-with-JDK9 问题的工作,特别是当您实际模块化代码时(与仅使用 JDK9 中的 javac 编译 java8 样式代码相比,该代码已经工作了一段时间)。
您可以在https://projectlombok.org/download-edge上试用最新的 Edge 版本吗?谢谢!
| 归档时间: |
|
| 查看次数: |
4462 次 |
| 最近记录: |