我试图在没有网络的情况下在firejail中运行应用程序。当我在主机系统中运行sbt时,一切正常,sbt找到所有库。然后我尝试在受限环境中运行sbt,对〜/ .sbt,〜/ .ivy2,〜/ .m2和项目文件夹以及对.sbt二进制文件的只读访问权限具有读写权限。 Sbt丢失所有依赖库并尝试从网络中获取它们,这是禁用的。
sbt存储库缓存在哪里以及为什么拒绝采用旧编译和准备使用状态?
update :sbt在尝试构建全局插件时失败。它没有进入执行项目构建的阶段。我试图将offline:= true添加到项目和全局sbt配置中,但是sbt尝试更新插件。
update2 :我成功运行了sbt而没有重建所有全局插件。这需要访问/ etc。但我宁愿不提供访问/ etc。 SBT需要哪些信息来自/ etc?主机名或其他什么?为什么它会使缓存依赖于这些东西呢?
UPDATE3 :
我发现了SBT无法识别已下载的库的确切原因。 SBT正常工作是严格需要/etc/passwd
的。任何人都可以指出SBT以何种方式准确使用登录信息?