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

能否从Windows命令行在挂载的WSL文件夹中运行Gradle?

无需复制直接在WSL挂载盘运行Gradle项目的解决方法

报错原因

你遇到的java.io.IOException: Incorrect function本质是Windows与WSL文件系统在文件元数据、哈希计算逻辑上不兼容,Gradle的文件哈希器无法正确处理WSL挂载盘的文件操作,导致构建流程中断。

可行解决方案

  • 指定Gradle缓存到Windows本地磁盘
    Gradle的缓存目录默认可能落在WSL挂载盘里,引发跨文件系统操作问题。可以通过两种方式修改缓存路径:

    • 临时生效:在Windows命令行执行以下命令后再运行构建:
      set GRADLE_USER_HOME=C:\Users\你的用户名\.gradle
      gradlew clean bootRun
      
    • 永久生效:在项目根目录创建gradle.properties文件,添加:
      org.gradle.user.home=C:/Users/你的用户名/.gradle
      
  • 直接调用WSL内的Gradle执行构建
    既然项目在WSL中本身能正常运行,无需挂载到Windows操作:

    • 打开WSL终端,进入项目目录执行:
      ./gradlew clean bootRun
      
    • 如果习惯用Windows终端,直接通过WSL命令调用:
      wsl ./gradlew clean bootRun
      

    这种方式完全规避跨文件系统的兼容性问题,是最稳定的方案。

  • 调整项目目录权限(可选)
    部分权限异常也可能触发文件操作错误,在WSL终端给项目目录设置合适权限:

    chmod -R 755 /home/mydir
    

    此方法优先级低于前两种,仅作为补充尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:44:59