[英]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 自己的设置。
到目前为止,我尝试了以下操作:
File > Import > Maven > Existing Maven Projects
mvn eclipse:eclipse
在这些之前甚至没有看到Build path
。
我很感激你的帮助——让我筋疲力尽。
项目中的其他人都是 IntelliJ 开发人员——没有工作空间可以比较。
我已经看到将 Maven 项目导入 Eclipse以及其他一些有用的讨论。
我不确定我是否也应该发布 .project、.settings 和其他一些文件内容。 必要时会做。
TIA。
确保不仅将父pom.xml
导入,还将 Maven 模块作为项目导入到 Eclipse 中。 要一次性完成此操作,请使用
还要确保Lombok 已安装到 Eclipse 中,否则 Eclipse 自己的增量编译器将不会生成例如由 Lombok 注释定义的 getter 和 setter 方法。 请参阅有关如何将 Lombok 安装到 Eclipse 中的Lombok 文档。 如果您在导入项目后安装了 Lombok,则可能需要执行Project > Clean...或关闭并重新打开项目(通过右键单击菜单)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.