Eclipse m2e - pom.xml 中没有这样的文件或目录

标签 eclipse maven pom.xml m2e

我在 Linux RedHat 上使用 Eclipse 4.5.2 (Mars.2 JEE)、Eclipse Maven m2e v1.7.0 (20160603-1933) 插件、Java 8 多模块项目。

我的项目结构如下:

  • 包含 pom.xml 的父项目
  • 模块 A 不依赖于 Eclipse Workspace 中的任何项目。 pom.xml 中仅包含 3PP 依赖项(Guava、Apache Commons、
    SLF4J...)
  • 模块 B 包含模块 A 和 3PP 依赖项(Guava、Apache Commons、SLF4J...)。

  • 结构是:
    parent-project
    |-- pom.xml // only this file
    |
    |--module-a
    |  |-- pom.xml
    |  | code
    |
    |--module-b
       |-- pom.xml // contains Module A as dependency 
    

    我遇到的问题(在 Eclipse 中,在“标记”下)是:

    “Maven 配置问题”-> 没有这样的文件或目录 pom.xml/module-b 第 1 行 Maven 配置问题

    由于我在 module-a 中没有报告任何问题,因此我已从 module-b 依赖项中删除了 module-a,并且上述问题已被清除。

    这导致我:在将一个工作区项目解析为其他其他项目依赖项时,m2e 似乎感到困惑。 现在,代码在运行时运行良好,但我想摆脱这种烦恼。

    我试过的:
  • 我试过 Eclipse 在新的 Eclipse 中安装 Maven 插件 v1.6.2
    安装(之前删除了eclipse和工作区目录...
    失去了一些时间重新安装) - 没有运气。
  • 我尝试过使用 Eclipse
    v4.6.2 (Neon.2) 和同样的问题出现(之前,我已经删除
    eclipse 和工作区目录并创建新目录...再次,
    花了一些时间)。
  • Stackoverflow 建议:禁用工作区
    单个项目设置中的分辨率。我觉得这是 Not Acceptable
    因为我需要浪费时间按顺序安装所有依赖项目
    使“module-b”外观相似的项目能够干净地工作。
  • 运行 mvn
    清洁 eclipse :清洁
    ,eclipse重新启动+ Maven更新-没有帮助。

  • 有没有人发现类似的问题?有什么建议么?

    最佳答案

    对我来说,根本原因是 this漏洞。如果您处于共享临时目录的环境中(例如 Linux 上的/tmp),并且两个或多个不同的用户碰巧打开 Eclipse 并使用 M2E 构建,则会发生错误。在 M2E 中的某个地方,它会写入/tmp/fakerepo,因此无论哪个用户首先在此处写入,都会拥有该文件夹并为任何其他用户破坏 Eclipse。

    重新启动通常会解决问题(/tmp 被清除),或者在启动 Eclipse 之前以管理员身份自己删除这个临时文件夹。

    关于Eclipse m2e - pom.xml 中没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42441484/

    相关文章:

    java - ejb 客户端的 POM 配置抛出异常

    java - 在 pom.xml 中添加 json 依赖项出现错误

    c++ - 如何在 Eclipse Neon 中启用 C++11 语法?

    java - Windows 上 Tomcat 上的 Log4j2 产生警告 "unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream"

    java - 在 Eclipse 中运行 Java REST API

    java - Eclipse 异常与 java.lang.OutOfMemoryError : Java heap space

    java - 比较 OSGi 和 Maven?

    maven - 生成maven项目继承/聚合图

    maven - 对 IntellijIDEA 和 Maven 的问题

    java - 无法让 Cassandra 在基本应用程序中工作