Sbt 没有从当前目录加载项目

Posted

技术标签:

【中文标题】Sbt 没有从当前目录加载项目【英文标题】:Sbt not loading the project from its current directory 【发布时间】:2021-04-24 01:52:54 【问题描述】:

当我在包含 build.sbt 文件的 Scala 项目中运行 SBT 时,SBT 似乎忽略它并从不同的文件夹加载项目定义并将当前项目设置到不同的目录 hsperfdata 这很奇怪,因为这用作 Java 性能计数器的一部分,这与我正在尝试做的事情无关。

SBT 也是通过 SDKMAN 安装的,当我尝试指定较低的 SDK 版本 1.2.8 而不是 1.4.6 时,它将始终使用 1.4。 61.2.8 版本也在我的build.properties 文件中指定。

我的堆栈跟踪:

xxxxx@MC-N369748 topic-api % sbt 
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] welcome to sbt 1.4.6 (AdoptOpenJDK Java 1.8.0_275)
[info] loading project definition from /private/var/folders/hs/0vkhntfd557c8z8g8b_p7ly00000gp/T/hsperfdata_adu-tp01/project
[info] set current project to hsperfdata_adu-tp01 (in build file:/private/var/folders/hs/0vkhntfd557c8z8g8b_p7ly00000gp/T/hsperfdata_adu-tp01/)
[info] sbt server started at local:///Users/xxxxx/.sbt/1.0/server/143baa47709c908603e6/sock
[info] started sbt server
sbt:hsperfdata_xxxxx> 

【问题讨论】:

如果您发布您的build.sbt 文件会很好。否则每个答案都是猜测...... 【参考方案1】:

当我们遇到这个问题时,它是由 OS X 限制 java 可执行文件的权限引起的。由于进程无法读取/写入当前目录,sbt 转移到 tmp 文件夹。

在 System Preferences => Security & Privacy 中确保为适当的可执行文件(在这种情况下可能是 java 和 javac)打开了 Full Disk Access 属性,或者将您的源代码移到 OS X 认为受保护的部分文件系统(我们将构建从用户主目录移动到 /code 并且 sbt 工作正常)。

【讨论】:

以上是关于Sbt 没有从当前目录加载项目的主要内容,如果未能解决你的问题,请参考以下文章

sbt资源未复制

如何让linux加载当前目录的动态库

Ubuntu linux设置从当前目录下加载动态库so文件

adobe flash cs4 as3:获取正在运行的项目的当前目录?

当前不会命中断点 还没有为该文档加载任何符号 的处理方法

SpringBoot配置文件——加载顺序