scala - 从 scala 库中获取相对路径(在开发该库时)
问题描述
我目前正在开发一个 scala 库,并希望在其中获取一个文件,当编译为 Jar 依赖项时的事件。问题是,当从导入库的另一个项目执行时,路径是相对于该项目的。这是获取文件的代码:
private val pathToDocker: Path = Paths.get("src", "main", "resources", "docker-compose")
我该怎么做才能在导入的依赖项中查找我的文件?
解决方案
该文件不会在文件系统中——它将在已编译的 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
推荐阅读
- c# - LINQ 搜索多个列并确定它匹配的列
- file - 当我用 pascal 调用文本文件时出错
- jpeg - ITU T.87 JPEG LS 标准和示例 .jls SOS 编码流没有转义序列 0xFF 0x00
- graphql - 使用 vue 3 从前端操作查询内的图形参数。不使用 axios 或 apollo
- amazon-web-services - Terraform 模块依赖项不起作用(版本 0.12)
- java - 如何将文件读入特定格式
- javascript - 调用辅助函数时出现问题 - Vue
- json - Delphi (XE3) - JSON, ISuperObject - 对象数组的副本
- node.js - 更新id失败
- vue.js - VueJS:Date.now 小于包括今天的日期