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