我跟同事一样的pom文件和maven仓库,离线开发,仓库都用一样的,但是我这里idea里面maven那里显示的omitted for duplicate 有红波浪线,且项目不能启动。
但是,我同事那里,一样的pom和maven仓库,idea里面的maven依赖那里也显示了omitted for duplicate,但是没有红波浪线,项目也能启动,不知道为什么
omitted for duplicate 意味着有相同版本的依赖包被省略了,因为已经有其它版本的依赖包了。这是一种优化,避免重复加载相同版本的依赖包。
导致这种状态出现的可能原因是,你的项目中存在不同版本的相同依赖包。在这种情况下,你需要在pom.xml文件中手动解决冲突。你可以在你的项目中找到这些重复的依赖,然后使用 标签排除这些依赖。
另一种可能原因是,idea和同事的idea配置不一样,导致了问题。检查一下你的配置是否正确,确保项目依赖正确加载。可以考虑以下几种解决方案。
手动解决依赖冲突:通过修改项目中的依赖版本,使其不冲突。
使用Maven依赖管理工具:通过使用Maven的依赖管理工具,如dependency:tree,自动解决依赖冲突。
清理Maven仓库:通过清理Maven仓库,删除重复的依赖。
使用更高版本的Maven:因为Maven在不同版本中处理依赖冲突的方式也不一样,所以使用更高版本的Maven可能会解决这个问题
可以在pom文件里面手动排除重复的依赖
举个例子,比如你在pom.xml文件里面添加了对spring-core包的依赖,而其他包可能也依赖了spring-core,所以你会发现在maven依赖中有重复的依赖包。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
可能会有其他的包也依赖了spring-core,所以会出现重复依赖。
<dependency>
<groupId>com.example</groupId>
<artifactId>example-library</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.10.RELEASE</version>
</dependency>
</dependencies>
</dependency>
这个时候你的ide会提示omitted for duplicate