dbus 库中哪里缺少 UnixSocket class?

Where is missing UnixSocket class in dbus library?

我正在考虑使用 Scala 中的 d-bus。我已将此添加到我的 build.sbt:

libraryDependencies ++= Seq(
  ...
  "com.github.hypfvieh" % "dbus-java" % "3.0.2",
  ...
}

已找到建筑物,但在运行时找不到 UnixSocket class:

java.lang.RuntimeException: Could not load library from any given source: [SYSTEM_PATH, CUSTOM_PATH, CLASS_PATH] at com.github.hypfvieh.system.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:89) at com.github.hypfvieh.system.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:69) at cx.ath.matthew.unix.UnixSocket.(UnixSocket.java:54)

我在 Maven 上尝试过各种可能具有此功能的工件 class,但没有成功。

我是否应该使用其他依赖项,或者我是否需要手动添加适当的库?

None of the (old) dbus-java classes/libraries 在 Maven 上,那些绑定从未使用 Maven 作为构建系统。原始绑定仍然可以在 dbus git repo.

上看到

如果您使用的是 Debian,您应该能够通过 运行 apt-get install libunixsocket-java 获取这些库。如果您不使用 Debian 或 Debian 衍生产品,则必须从 source.

编译

请注意,发生的错误实际上是由于您没有加载 JNI 代码库,该代码实际上在 dbus-java 存储库中。