首页 > 解决方案 > 从 scala 库中获取相对路径(在开发该库时)

问题描述

我目前正在开发一个 scala 库,并希望在其中获取一个文件,当编译为 Jar 依赖项时的事件。问题是,当从导入库的另一个项目执行时,路径是相对于该项目的。这是获取文件的代码:

private val pathToDocker: Path = Paths.get("src", "main", "resources", "docker-compose")

我该怎么做才能在导入的依赖项中查找我的文件?

标签: scala

解决方案


该文件不会在文件系统中——它将在已编译的 JAR 中。

您可以使用类加载器获取 JAR 资源。这是一个如何在另一个代码库中执行此操作的示例。

实用功能:

https://github.com/hail-is/hail/blob/6db198ae06/hail/src/main/scala/is/hail/utils/package.scala#L468

加载版本信息的用法:

https://github.com/hail-is/hail/blob/6db198ae06/hail/src/main/scala/is/hail/package.scala#L21


推荐阅读