eclipse在使用lombok项目时抛出错误“data cannot be resolved to a type”

jxct1oxe  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(585)

这个问题在这里已经有了答案

eclipse java ide junit5:junit.jupiter.api.assertions不可访问(1个答案)
上个月关门了。
我对java和projectlombok是个新手,我正在努力学习一些教程来更好地理解它。我创建了一个非常简单的java项目来测试lombok项目,它抛出了错误 Data cannot be resolved to a type 当我添加
annotation @Data 去我的班。
我使用macos和eclipseide来运行java应用程序。以下是我运行第一个java和lombok项目所遵循的步骤:
下载了最新的project lombok版本1.18.16,并将其放在documents文件夹中。
使用以下命令在我的系统中安装了lombok项目 java -jar lombok.jar .
重新启动我的eclipse并验证了在eclipse->about eclipse中安装了lombok项目:安装了lombokv1.18.16“enviousferret”。https://projectlombok.org/"
创建了一个新的java项目和类 Alien .
将lombokjar项目添加到我的项目类路径中。
添加了 @Data 我的注解 Alien 类并导入jar文件,但我得到了错误 The type lombok.Data is not accessible 我的进口声明 import lombok.Data; 而且,我得到了错误 Data cannot be resolved to a type 在课堂上做注解 public @Data class Alien 我真的不知道怎么了。我试图找出答案,但所有的答案都提到了相同的步骤。我只是想知道我做错了什么。任何帮助都将不胜感激。
以下是我的完整代码:

package com.lamboktest;

import lombok.Data;

public @Data class Alien {
    private int age;
    private String name;
}
xfb7svmp

xfb7svmp1#

错误 The type SOMETYPE is not accessible 是。。。奇怪的。据我所知,只有三种方法可以得到这个错误: lombok.Data 不是公开的。但是,是的,所以这不可能。
您已经在eclipse中手动添加了一个禁止包列表(“访问规则”),以拒绝自己访问lombok。想必,如果你那样做了,你会记得的,所以不可能是这个。
lombok作为一个模块加载,并且 lombok 未导出包。除此之外,lombok仅有的版本要么不是模块化的(没有模块信息的jar文件导出所有内容),要么是模块化的,而且 lombok 包已导出。所以不可能是这个。
也许仔细检查一下这些是有用的:
我想是吧 javap -cp lombok.jar lombok.Data ,并检查它是公共的,但是,这不能是它,所以您可能不需要麻烦。
对于访问规则,这是3个不太可能的选项中最有可能的,进入项目的设置(在包资源管理器中右键单击它,然后选择“属性…”,您可以从那里设置很多内容),转到“构建路径”,找到lombok.jar,打开它,然后选中“访问规则”。应为“未定义规则”。
进入项目的设置,确保它都设置为java8,然后重新生成。想必您想使用新特性,但关键是至少要将其隔离到:这是一个模块问题。

deyfvvtc

deyfvvtc2#

张贴答案,因为它可能对将来的人有用。
如评论中所述,删除了该文件 module-info.java 它是在项目创建过程中默认创建的。一切如期进行。

相关问题