我有一个用 sbt 构建的 scala 应用程序。它引入了一个本地库。本机库是通过...加载的
System.setProperty("java.library.path", "libs")
System.loadLibrary("native-library")
该应用程序在 Ubuntu 14 和 16 上都运行得非常好。我可以执行 sbt test 并且运行没有问题,而且一切都完美连接。
我正在测试在 Ubuntu 18 上构建并遇到问题。它们似乎与加载/链接本机库特别相关。如果我使用“sbt run”,该应用程序运行良好。但是,如果我尝试“sbt test”,它会失败并出现以下错误......
sbt.ForkMain$ForkError: java.lang.NoClassDefFoundError: Could not initialize class "MyClass"
其中“MyClass”是链接本机库的类。该应用程序也可以很好地编译(sbt compile),并且我在 build.sbt 中包含了“fork := true”。
所以我知道它在某些情况下“有效”。似乎有一些关于“sbt test”的特定内容,它在哪里中断。
谢谢!