Java m2eclipse和maven命令行之间的差异

Java m2eclipse和maven命令行之间的差异,java,eclipse,maven,Java,Eclipse,Maven,我在通过maven CLI和Eclipse构建项目时遇到了一些问题:当我在Eclipse中构建项目时,我没有任何问题。当我在shell中构建项目时,我得到一个错误,编译器找不到特定的包 这是使用相同的pom文件。问题在于可传递依赖关系。当Eclipse更新项目时,它能够很好地提取依赖项,而cli不能。依赖项存储在自定义(Ivy)存储库布局中,但我们设置了镜像,使maven能够读取它们。 cli和Eclipse都在读取相同的pom文件和相同的settings.xml 我想了解Eclipse如何解决

我在通过maven CLI和Eclipse构建项目时遇到了一些问题:当我在Eclipse中构建项目时,我没有任何问题。当我在shell中构建项目时,我得到一个错误,编译器找不到特定的包

这是使用相同的pom文件。问题在于可传递依赖关系。当Eclipse更新项目时,它能够很好地提取依赖项,而cli不能。依赖项存储在自定义(Ivy)存储库布局中,但我们设置了镜像,使maven能够读取它们。 cli和Eclipse都在读取相同的pom文件和相同的settings.xml


我想了解Eclipse如何解决这些依赖关系,而raw Maven却不能

根据您的问题:M2Eclipse只是在Eclipse中使用Maven的工具

在这里,我们可以从M2Eclipse站点找到:

M2Eclipse通过以下功能将Apache Maven紧密集成到IDE中:

  • 从Eclipse中启动Maven构建
  • 基于Maven的pom.xml的Eclipse构建路径依赖关系管理
  • 从Eclipse工作区解析Maven依赖项,而无需安装到本地Maven存储库
  • 从远程Maven存储库自动下载所需的依赖项
  • 用于创建新Maven项目、pom.xml和在普通Java项目上启用Maven支持的向导
  • 在Maven远程存储库中快速搜索依赖项
  • Java编辑器中的快速修复程序,用于按类或包名查找所需的依赖项/JAR

M2Eclipse使用嵌入式Maven。因此,它也将使用自己的.m2回购协议。通过转到Preferences/Maven/intalallations,您可以强制它对CLI Maven使用.m2 repo。

运行m2eclipse时,Eclipse将发现并解决所有暂时依赖项,并将它们放在类路径上。我将这些依赖项添加为显式依赖项(因为我正在使用它们),并构建项目。

ide是否设置了不同的类路径?