我已经编写了一个新的Maven项目,现在我们称之为 Utils 。我已经在我当地的Maven存储库中成功安装了它。至少目标clean install
最终打印BUILD SUCCESSFUL
。当我通过Windows资源管理器手动导航时,我也可以找到jar。
现在有另一个名为 Import 的项目,我已经编写了应该将 Utils 作为依赖项。当我现在将其添加到具有范围 compile 的pom并运行目标eclipse:eclipse
时,我再次收到消息BUILD SUCCESSFUL
。但遗憾的是, Utils 项目不在 Import 的引用库中。
当我想在Maven Eclipse插件的POM视图中添加它时,也找不到 Utils 。有趣的是,当我指定 Utils 的错误版本时,当我想用Maven安装 Import 时,我收到警告。
你知道我哪里错了吗?
答案 0 :(得分:2)
如果你正在使用m2eclipse,那么它默认使用工作空间解析来解决依赖关系(导入取决于 Utils 项目您的工作区和 Utils 将不会在引用的库中列出。换句话说,依赖是存在的,但不是你正在寻找它。
您可以在命令行上的导入 上运行mvn dependency:tree
以确认一切正常。您应该在打印的树中看到 Utils 。
如果您正在使用m2eclipse,请不要使用maven eclipse插件(eclipse:eclipse
),将项目导入为现有Maven项目。
我不知道为什么你把maven称为外部工具。
答案 1 :(得分:0)
为了使maven eclipse插件忽略工作区中的项目,您还可以将属性useProjectReferences
设置为false
。
例如,将此部分添加到pom.xml
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<useProjectReferences>false</useProjectReferences>
</configuration>
</plugin>