【问题标题】:Unable to resolve errors in maven project eclipse photon无法解决 maven 项目 eclipse photon 中的错误
【发布时间】:2018-08-31 17:39:46
【问题描述】:

我已经将一个现有的 manven 项目导入到我从 github 下载的 eclipse 新工作区中。在 Maven 安装中,我得到一个 BUILD SUCCESS,但该项目上的红十字永远不会消失。这个问题之前已经提出过:link1, link2

大多数解决方案都讲述了更新项目以及我更新项目的任何次数,它并没有解决问题。

另一个解决方案是使用 lombok 插件,因为我注意到许多 getter 和 setter 方法都会导致问题(不存在)。 lombok 插件是自动生成它们....我在我的 pom.xml 中有它,但问题仍然存在。事实上,问题选项卡显示了 100 个错误,如下例所示:

__ 无法解析为类型

空白的最终字段 API_KEY 可能尚未初始化

构造函数APNSService(ApnsService)未定义

如何解决这个问题?

感谢任何帮助。

注意:我在jdk1.8上运行maven项目。

【问题讨论】:

  • 您是否尝试过从工具栏的项目选项卡下清理项目?
  • 您在构建未完成时获得了构建成功?诡异的。无论哪种方式:无法解析为类型意味着无法找到依赖项(或类),可能是由未完成的构建引起的。检查该字段是否已初始化,如果没有,请执行此操作。你在某个地方调用了一个不存在的构造函数。 Lombok 生成的方法不会出现,除非该构建步骤实际成功,因此您必须修复您遇到的构建问题,一旦您这样做应该会自行修复
  • @Stultuske 如果我开始初始化东西,有很多地方要做..maven install 给了我 BUILD SUCCESS 并且 Lombok 仍然没有生成方法??
  • @Ankur 清洁没有帮助,我已经做了很多次但仍未修复。
  • 你是通过eclipse还是命令行运行你的mvn安装?

标签: java eclipse maven getter-setter lombok


【解决方案1】:

您还必须在 Eclipse 中安装了 lombok 插件。 (请注意,这与项目依赖项中存在的 lombok 有所不同;您需要两者。)此外,Eclipse 中安装的版本应该与您在 pom.xml 中的版本相同。否则可能会出现奇怪的编译问题,比如在 Eclipse 中编译但在 maven 中编译不了,反之亦然。

Eclipse的安装说明可以在here找到。

更新: 安装后检查“About Eclipse”对话框并重新启动 Eclipse。它必须包含一些文本,例如“Lombok v1.18.3 “Edgy Guia Pig” is installed.”。如果不是这样,lombok 插件没有正确安装。

如果安装不成功,您应该尝试将 lombok 安装到干净的 Eclipse 安装中(甚至在添加任何项目之前)。您也可以尝试使用 Eclipse Oxygen 代替 Photon(Photon 存在 sporadic reports 问题;但是,与 Photon 结合似乎没有一般问题)。

解释: Eclipse 使用自己的编译器(与 maven 使用的 javac 不同)。因此,lombok 也必须挂钩到 Eclipse 编译过程中,因此,Eclipse 需要那个 lombok 插件。

【讨论】:

  • 在 pom.xml 中,有 lombok 规范(版本 1.16.6)。但是安装的插件没有显示 lombok 但我得到了 BUILD SUCCESS....我该如何解决这个问题
  • 您是否按照安装说明中的说明检查了“About Eclipse”对话框? Eclipse 报告要安装哪个 lombok 版本? PS:“构建成功”大概是来自maven,而且我说的maven编译过程与Eclipse编译无关。
  • 当更改目标以在运行配置中安装时,我不再遇到 getter 和 setter 方法的问题。但是块引用的问题仍然存在..
  • 再次:Help -> About Eclipse 对已安装的 lombok 版本有何评论?该对话框中应该直接有一个文本,说类似 "Lombok v1.18.3 "Edgy Guia Pig" is installed." 如果没有这样的文本,则必须安装 Eclipse lombok 插件。
  • 我找不到提到的任何文字,就此而言,我在您指定的位置没有找到任何插件信息,但我在此链接中看到类似的内容:howtodoinjava.com/automation/… 我刚刚拥有看看导入在那里,但 getter 和 setter 方法似乎仍未解决..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
  • 2018-03-07
相关资源
最近更新 更多