Java 如何使用eclipse更改maven依赖项的代码

Java 如何使用eclipse更改maven依赖项的代码,java,eclipse,maven,Java,Eclipse,Maven,我有一个项目,它使用多个组件来执行功能。所有组件都由maven dependency control管理。现在,我想更改其中一个组件的代码以增强功能。该组件在eclipse project explorer中对我可见,我可以访问该组件中存在的文件。但是当我更改组件中的代码,使用该组件作为依赖项的主项目无法访问该更改。我尝试过maven:clean,update dependencies,但没有任何效果。我只是刚接触maven,所以我确信我遗漏了一些东西 非常感谢您的帮助。感谢您在使用依赖项更新p

我有一个项目,它使用多个组件来执行功能。所有组件都由maven dependency control管理。现在,我想更改其中一个组件的代码以增强功能。该组件在eclipse project explorer中对我可见,我可以访问该组件中存在的文件。但是当我更改组件中的代码,使用该组件作为依赖项的主项目无法访问该更改。我尝试过maven:clean,update dependencies,但没有任何效果。我只是刚接触maven,所以我确信我遗漏了一些东西


非常感谢您的帮助。感谢您在使用依赖项更新pom文件后,是否尝试过maven安装?

当将maven与eclipse一起使用时,依赖项可以直接用作jar(从存储库下载),或者,如果依赖项也定义在同一工作区中打开的项目中,eclipse应该使用这个项目而不是原来的jar

您应该检查:

  • “禁用工作区解析”未选中(在项目浏览器的“maven”子菜单中右键单击项目时)
  • 在您的项目属性中,在“Java构建路径”(“Libraries”选项卡)中,eclipse将您的依赖项显示为项目,而不是本地maven存储库中的jar

还要注意重命名组件(并将其发布到某处或在项目中包含修改后的代码),以确保构建项目的其他开发人员使用相同的修改后的依赖关系,而不是原始依赖关系。

是否发布了更改组件的新版本?(它是作为版本或快照依赖项包含的)新版本1.0.1-snapshot是在同一个项目(即多模块构建)中构建的组件,还是在单独的项目中构建的组件?您是否在这两个项目中都运行了clean install?您应该首先对更改的组件运行clean install,然后对主项目运行clean install。在这种情况下,将取决于哪个版本更符合您的项目需求。假设您签出了当前的主干/快照,您的项目可能会被固定到pom中的早期固定版本,因此eclipse不会使用更新的主干。如果是这种情况,请取消绑定版本或将其设置为当前trunk/snapshot。在我的java构建路径中,eclipse将我的依赖项显示为jar文件,而不是项目…@user3300629:ok,这就解释了您的问题。您能否确认未选中“禁用工作区解析”?如果不是,则表示依赖项定义中的某个地方有输入错误。@user3300629则模块在其pom中的定义方式与在主项目pom中的依赖项定义方式不完全相同。仔细检查groupId、artifactId和version,并尝试在两侧进行更改。我检查groupId、artifactId和version是否正确same@user3300629你有没有按照我的建议,试着改变他们的两面?。。。。如果您更改它们,Eclipse将无法将jar用作依赖项,因为这在您的本地repo中不可用。