繁体   English   中英

Maven 模块的 Eclipse 设置

[英]Eclipse settings for maven modules

我将 Maven 项目克隆到我的本地磁盘。 该项目有 3 个模块以及一个父项目。 我用 3 种颜色标记了 3 个模块——第四个,蓝色是项目本身。

该项目在 Eclipse 和命令行上的 Maven 上运行良好。 当我在 Eclipse 上执行mvn install时,项目已构建并且所有测试都成功运行——我在 Eclipse 控制台上看到了 maven 的旧版BUILD SUCCESS报告。

问题是——模块都搞砸了。 (这个“搞砸了”是我现在可以说的最好的方式。)Eclipse 无法识别模块之间的依赖关系,并为一些使用外部依赖关系的代码提供检查错误。

在一个地方@Getter用于一个班级。 import lombok.Getter; 被编译器看到——没有检查错误。 但是 eclipse 无法识别 lombok 的 getter 声明,比如字段field getField() 我知道这一点是因为:a) 在类本身中 - 发出警告,提示.. 未使用私有字段field b) 向getField()提供来自另一个类的引用的已检查错误。 认为这可能是一个关于依赖项如何“工作”的有趣示例。 我猜 lombok 正在使用的一个依赖项在途中的某个地方被拦截,以产生这种不一致。

以下是磁盘上的项目根目录结构。 (3种颜色是3个模块,为了保密,必须隐藏名称):

在此处输入图片说明

这 3 个模块在 pom.xml 中定义如下:

在此处输入图片说明

我在 Eclipse 项目资源管理器中看到以下内容:

在此处输入图片说明

所以在项目资源管理器中,具有 java 目录的 2 个模块/测试(绿色和黄色),即src/main/java出现两次。 橙色模块只有src/main/resources ,没有src/main/java

在项目资源管理器(上图)中第二次出现模块时,没有任何类型的依赖项,甚至没有 Java 本身,因此周围都是红点(编译器错误)。 第一次出现的模块有Referenced Libraries并且没有Maven Dependencies

在此处输入图片说明

如何修复这个项目,以便我可以在 Eclipse 中编码和运行? 只是为了确定 - 项目配置一切正常,并且在 maven 上成功运行。 问题是 Eclipse 自己的设置。

到目前为止,我尝试了以下操作:

  • 使项目多面并添加 Java 作为其多面的唯一一个
  • 导入为 Maven 项目 -- File > Import > Maven > Existing Maven Projects
  • 在其 pom.xml 上运行mvn eclipse:eclipse

在这些之前甚至没有看到Build path

我很感激你的帮助——让我筋疲力尽。
项目中的其他人都是 IntelliJ 开发人员——没有工作空间可以比较。

我已经看到将 Maven 项目导入 Eclipse以及其他一些有用的讨论。

我不确定我是否也应该发布 .project、.settings 和其他一些文件内容。 必要时会做。

TIA。

确保不仅pom.xml导入还将 Maven 模块作为项目导入到 Eclipse 中 要一次性完成此操作,请使用

  • 文件 > 从文件系统打开项目...
  • Git Repositories视图中右键单击根文件夹并选择Import Projects...

还要确保Lombok 已安装到 Eclipse 中,否则 Eclipse 自己的增量编译器将不会生成例如由 Lombok 注释定义的 getter 和 setter 方法。 请参阅有关如何将 Lombok 安装到 Eclipse 中Lombok 文档 如果您在导入项目后安装了 Lombok,则可能需要执行Project > Clean...或关闭并重新打开项目(通过右键单击菜单)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM