【问题标题】:Can't add project from local Maven repository as a dependency无法将本地 Maven 存储库中的项目添加为依赖项
【发布时间】:2011-03-11 18:59:29
【问题描述】:

我已经编写了一个新的 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 时会收到警告。

你知道我哪里错了吗?

【问题讨论】:

  • 可能是您的 maven eclipse 插件的配置问题。您使用的是 m2eclipse 还是其他的?
  • 我正在使用 m2eclipse。但我将 maven.bat 配置为外部工具来调用 Maven 目标。
  • 奇怪的事情:当我在 Import 上运行 assembly:assembly 并添加了依赖项时,Utils 包含在创建的 .zip 文件中。跨度>
  • 什么意思> Utils 项目不在Import 的引用库中。 Maven 依赖项显示在 Eclipse 中的 Maven Dependencies 容器下。如果您遇到依赖项未应用于 Eclipse 项目的问题,请使用 Eclipse 中项目的上下文菜单操作 Maven -> Update Dependencies 或 Update Project Configuration。

标签: java eclipse maven-2 dependencies m2eclipse


【解决方案1】:
  • 如果您使用的是 m2eclipse,那么它默认使用 workspace resolution 来解决依赖关系(Import 取决于 Utils 您的工作区的项目 和 Utils 不会在引用的库中列出)。换句话说,依赖是存在的,但不是你要找的地方。

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

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

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

【讨论】:

  • 由于您的第一个提示,我发现我没有启用“Maven 依赖管理”。因此 Eclipse 没有识别出我可以从 Import 访问 Utils 项目的成员。
【解决方案2】:

为了让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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 2016-11-13
    • 2019-02-01
    • 1970-01-01
    • 2017-06-03
    相关资源
    最近更新 更多