使用Mill构建工具加载Scala资源文件失败,求正确实现方案
解决Mill构建Scala项目中资源文件加载失败的问题
你的问题核心在于资源文件路径的写法错误,修正后即可正常加载,具体步骤如下:
1. 修正资源加载路径
将Main.scala中的资源加载代码修改为:
import scala.io.Source object Main { def main(args: Array[String]): Unit = { val helloWorldText: Iterator[String] = Source.fromResource("hello_world.txt").getLines helloWorldText.foreach(println) } }
关键改动:去掉路径开头的斜杠/。
原因说明
Java/Scala的类加载器查找资源时,fromResource方法的参数是相对于类路径根目录的相对路径,不需要添加开头的斜杠。如果加上斜杠,类加载器会将其视为无效路径,导致找不到资源文件。
验证资源是否被正确纳入类路径(可选)
如果修改后仍有问题,可以执行以下命令查看项目的运行类路径,确认src/main/resources目录或打包后的资源文件已被包含:
mill app.runClasspath
内容的提问来源于stack exchange,提问作者Amaterasu
相关产品推荐
相关产品推荐

