You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中Maven项目报Access denied无法读取的问题求助

Eclipse中Maven项目报“Could not read maven project (Access denied)”但命令行构建正常

问题描述

本地Maven项目在命令行执行mvn clean install可正常构建成功,但在Eclipse中始终报错「Could not read maven project (Access denied)」。

命令行构建成功日志

[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (default) @ yeahgo-rest4php-service ---[INFO] Building jar: C:\work\java\git\yeahgo-rest4php\target\yeahgo-rest4php-service-2.6.4-SNAPSHOT-sources.jar[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ yeahgo-rest4php-service ---[INFO] Not copying test resources[INFO] [INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ yeahgo-rest4php-service ---[INFO] Not compiling test sources[INFO] [INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ yeahgo-rest4php-service ---[INFO] Tests are skipped.[INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ yeahgo-rest4php-service ---[INFO] Building jar: C:\work\java\git\yeahgo-rest4php\target\yeahgo-rest4php-service-2.6.4-SNAPSHOT.jar[INFO] [INFO] --- spring-boot-maven-plugin:2.1.2.RELEASE:repackage (default) @ yeahgo-rest4php-service ---[INFO] Replacing main artifact with repackaged archive[INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ yeahgo-rest4php-service ---[INFO] Installing C:\work\java\git\yeahgo-rest4php\target\yeahgo-rest4php-service-2.6.4-SNAPSHOT.jar to C:\work\java\repository\com\hznt\yeahgo-rest4php-service\2.6.4-SNAPSHOT\yeahgo-rest4php-service-2.6.4-SNAPSHOT.jar[INFO] Installing C:\work\java\git\yeahgo-rest4php\.flattened-pom.xml to C:\work\java\repository\com\hznt\yeahgo-rest4php-service\2.6.4-SNAPSHOT\yeahgo-rest4php-service-2.6.4-SNAPSHOT.pom[INFO] Installing C:\work\java\git\yeahgo-rest4php\target\yeahgo-rest4php-service-2.6.4-SNAPSHOT-sources.jar to C:\work\java\repository\com\hznt\yeahgo-rest4php-service\2.6.4-SNAPSHOT\yeahgo-rest4php-service-2.6.4-SNAPSHOT-sources.jar[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time:  9.769 s[INFO] Finished at: 2022-12-09T13:15:59+08:00[INFO] ------------------------------------------------------------------------

Eclipse错误日志详情

Description Resource    Path    Location    TypeCould not read maven project (org.apache.maven.plugins:maven-jar-plugin:2.4:jar:default-jar:package)org.eclipse.core.runtime.CoreException: Could not read maven project    at org.eclipse.m2e.core.internal.embedder.MavenImpl.lambda$3(MavenImpl.java:433)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:350)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:219)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:205)    at org.eclipse.m2e.core.internal.embedder.MavenImpl.readProject(MavenImpl.java:424)    at org.eclipse.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.lambda$4(AbstractMavenArchiverConfigurator.java:576)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:350)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:262)    at org.eclipse.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.loadParentHierarchy(AbstractMavenArchiverConfigurator.java:568)    at org.eclipse.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.generateManifest(AbstractMavenArchiverConfigurator.java:364)    at org.eclipse.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:227)    at org.eclipse.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator$1.build(AbstractMavenArchiverConfigurator.java:177)    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:135)    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:168)    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:113)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:350)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:219)    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:104)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:350)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:262)    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:205)    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:87)    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:197)    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1024)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:254)    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:311)    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:400)    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:403)    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:514)    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:462)    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:544)    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:161)    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:255)    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)Caused by: org.apache.maven.project.ProjectBuildingException: 1 problem was encountered while building the effective model[FATAL] Non-readable POM C:\work\java\git\yeahgo-rest4php: C:\work\java\git\yeahgo-rest4php (Access denied。) @  for project  at C:\work\java\git\yeahgo-rest4php    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:180)    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:124)    at org.eclipse.m2e.core.internal.embedder.MavenImpl.lambda$3(MavenImpl.java:431)    ... 36 moreCaused by: org.apache.maven.model.building.ModelBuildingException: 1 problem was encountered while building the effective model[FATAL] Non-readable POM C:\work\java\git\yeahgo-rest4php: C:\work\java\git\yeahgo-rest4php (Access denied。) @     at org.apache.maven.model.building.DefaultModelProblemCollector.newModelBuildingException(DefaultModelProblemCollector.java:197)    at org.apache.maven.model.building.DefaultModelBuilder.readModel(DefaultModelBuilder.java:687)    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:303)    at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:267)    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:173)    ... 38 more    pom.xml /yeahgo-rest4php-service    line 4  Maven Build Problem

项目pom.xml内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.hznt</groupId>
        <artifactId>yeahgo-dependencies-service</artifactId>
        <version>2.6.4-SNAPSHOT</version>
        <relativePath/>
    </parent>
    <artifactId>yeahgo-rest4php-service</artifactId>
    <version>${revision}</version>
    <properties>
        ...
    </properties>
    <dependencies>
       ...
    </dependencies>
    <build>
        <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-jar-plugin</artifactId>
               <version>2.4</version>
               <!-- <version>3.3.0</version> change version, still same error-->
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

已尝试的方法

  • 在Eclipse中执行Maven -> Update Project
  • 执行Run as -> Maven clean
  • 删除Problems视图中的错误提示,但错误会重新出现
  • 通过cmd执行cacls yeahgo-rest4php /e /g everyone:f为目录授权
  • 创建新目录Demo,复制src和pom.xml后导入Eclipse

解决方案

从错误堆栈来看,核心问题是Eclipse的m2e插件尝试读取项目目录C:\work\java\git\yeahgo-rest4php时触发权限拒绝,而命令行Maven可以正常执行,说明问题出在Eclipse或其集成的m2e插件上,尝试以下步骤:

  1. 切换Eclipse使用系统安装的Maven
    打开Window > Preferences > Maven > Installations,点击Add选择本地安装的Maven目录,将其设置为默认,避免使用Eclipse内置的Maven版本。

  2. 修复父POM的relativePath配置
    pom.xml中parent的<relativePath/>为空,Maven会从本地仓库查找父POM,但m2e解析时可能出现路径混淆。如果父项目在本地,明确指定父POM的路径,例如:

    <parent>
        <groupId>com.hznt</groupId>
        <artifactId>yeahgo-dependencies-service</artifactId>
        <version>2.6.4-SNAPSHOT</version>
        <relativePath>../yeahgo-dependencies-service/pom.xml</relativePath> <!-- 根据实际路径调整 -->
    </parent>
    

    如果父POM已在本地仓库,可以保留空,但需确保Eclipse的Maven仓库与命令行一致(检查Window > Preferences > Maven > User Settings中的settings.xml路径)。

  3. 清理m2e插件缓存
    关闭Eclipse,删除以下目录:

    • {你的工作空间路径}/.metadata/.plugins/org.eclipse.m2e.core/nexus
    • {你的工作空间路径}/.metadata/.plugins/org.eclipse.m2e.core/maven
      重新启动Eclipse后执行Maven -> Update Project。
  4. 以管理员身份运行Eclipse
    右键点击Eclipse快捷方式,选择「以管理员身份运行」,测试是否是系统权限限制导致无法读取目录。

  5. 重新设置目录权限
    尝试用icacls命令替换cacls,确保当前用户拥有完全控制权限:

    icacls C:\work\java\git\yeahgo-rest4php /grant %USERNAME%:(F) /T
    

    其中/T参数会递归设置子目录和文件的权限。

  6. 禁用自动构建后手动更新
    取消勾选Project > Build Automatically,执行Maven > Update Project(勾选「Force Update of Snapshots/Releases」),完成后再重新开启自动构建。


内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:01:01