运行./mill -w app.runBackground时报/packages无法转为URI错误求助
解决
/packages cannot be represented as URI错误的方案 1. 升级Mill版本
该错误多由旧版Mill对Java 17、Scala 3的兼容性缺陷导致,先确认当前Mill版本:
./mill --version
若版本低于0.10.x,直接替换项目根目录的mill脚本为最新稳定版:
curl -L https://github.com/com-lihaoyi/mill/releases/latest/download/mill > mill && chmod +x mill
2. 显式指定Java版本兼容参数
在项目根目录的build.sc中添加Java/Scala编译参数,确保版本匹配:
def scalacOptions = super.scalacOptions() ++ Seq( "--release", "17" ) def javacOptions = super.javacOptions() ++ Seq( "--release", "17" )
同时检查JAVA_HOME环境变量是否指向正确的OpenJDK 17路径:
echo $JAVA_HOME
若路径错误,手动设置(以Linux/macOS为例):
export JAVA_HOME=/path/to/openjdk-17
3. 清理缓存后重新构建
旧缓存可能引发兼容性冲突,执行以下命令清理并重启服务:
rm -rf .mill ./mill clean ./mill -w app.runBackground
4. 排查项目结构与依赖
- 确保项目中不存在名为
/packages的目录,避免路径解析异常 - 检查
build.sc中的依赖版本,确认所有依赖均支持Scala 3.1.3
内容的提问来源于stack exchange,提问作者Basil Ahmad
相关产品推荐
相关产品推荐

