我正在寻找一种方法来使用由执行的 *.scala 文件的完整路径
scala /path/to/file/file.scala
原因是在我的脚本中,我想使用相对于 file.scala 保存位置的路径。所以,假设我想在调用 file.scala 时从 file.scala 内部调用/path/to/file/file_second.scala
scala ./to./file/file.scala
因为我从中调用 scala 的目录是/path (即 System.getProperty("user.dir") 将返回的内容)。我所知道的先验是 file_second.scala 与 file.scala 位于同一目录中,而实际上不知道完整路径。
我试过了。其中,getClass.getResource("").split(":")(1),但这要么
返回/path/./或/tmp/scala.tmp/
我想必须有一个干净的解决方案,因为 scala -savecompiled 将在我想要处理的目录中创建一个 *.jar,但我只是不知道如何......:/
非常感谢您的帮助。
最佳答案
脚本序言:
#!/bin/sh
export SCRIPT_PATH=$(readlink -f "$0") && exec scala "$0" "$@"
!#
读取值:
val scriptPath = System.getenv("SCRIPT_PATH")
关于scala - 在 Scala 脚本文件中使用源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018825/