1

我已经编写了一个新的 Maven 项目,现在我们称之为Utils。我已在本地 Maven 存储库中成功安装它。至少目标最终clean install打印BUILD SUCCESSFUL出来。当我通过 Windows 资源管理器手动导航到 jar 时,我也可以找到它。

现在我写了另一个名为Import的项目,它应该将Utils作为依赖项。当我现在将它添加到具有范围编译和运行目标的 pom 中时,eclipse:eclipse我再次收到消息BUILD SUCCESSFUL。但不幸的是,Utils项目不在Import的引用库中。

当我想在 Maven Eclipse 插件的 POM 视图中添加它时,也找不到Utils 。有趣的是,当我指定错误版本的Utils时,当我想使用 Maven安装Import时会收到警告。

你知道我哪里错了吗?

4

2 回答 2

2
  • 如果您使用的是 m2eclipse,那么它默认使用工作区解析来解析依赖项(Import取决于您的工作区的Utils项目,并且Utils不会在引用的库中列出)。换句话说,依赖是存在的,但不是你要找的地方。

  • 您可以在命令行上mvn dependency:tree运行Import 以确认一切正常。您应该在打印的树中看到Utils 。

  • 如果您使用 m2eclipse,请不要使用 maven eclipse 插件 ( eclipse:eclipse),将您的项目导入为Existing Maven Projects

  • 与我不直接相关,我想知道您为什么将 maven 称为外部工具。

于 2010-07-05T08:28:53.050 回答
0

为了使 maven eclipse 插件忽略工作区中的项目,您还可以将属性设置useProjectReferencesfalse. 例如,将此部分添加到您的pom.xml

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-eclipse-plugin</artifactId>
  <version>2.8</version>
  <configuration>
    <useProjectReferences>false</useProjectReferences>
  </configuration>
</plugin>
于 2011-08-18T09:54:01.273 回答