M2Eclipse主页声明该插件具有以下功能:
从Eclipse工作区解析Maven依赖项而不安装到本地Maven存储库
由于我没有找到任何文档,我无法弄清楚这究竟意味着什么以及它是如何完成的.我特别感兴趣的是工作区中的项目对应于两个不同的jar(两者都包含类的部分).
Eclipse工作区(使用M2E时)充当本地maven存储库.您签出的每个Maven项目都可用作依赖项(就像您已将其安装在本地存储库中一样).
例如:如果您的项目A依赖于lib B版本1.0.0并且您在1.0.0版本上检查了lib B的源代码,那么Eclipse将能够使用B的工作区版本编译A.您无需安装本地存储库中的lib B.
当您需要对lib进行更改并在工作区中的应用程序中对其进行测试时,这非常有用.
但请注意,pom A上lib B的依赖版本和pom B上声明的B版本必须完全匹配才能生效.例如,如果在A的pom.xml上,您有:
a.b.c B 1.0.0
您需要1.0.0版本的结帐B.
如果需要在B上进行更改,则可能需要将依赖项版本更改为SNAPSHOT(例如1.0.1-SNAPSHOT)并查看该版本的B.
您还需要在Eclipse项目中选中"Resolve workspace artifacts"选项,以使其正常工作.(右键单击项目 - >属性 - > Maven - >从Workspace项目中解析依赖项)
如果要确保Eclipse正在使用工作空间上的版本而不是已安装的版本(甚至是远程存储库中的版本),请检查pom.xml编辑器上的"依赖关系"选项卡.使用jar图标显示"常规"依赖项,使用Eclipse项目图标显示在工作区上解析的依赖项(如lib B).