我正在尝试使用 vlcj-javafx 库构建一个 javafx 程序,它在 jvm 中运行良好,但后来我尝试使用 gluonfx 插件将它构建为本机映像,它在运行时出现此错误:
[INFO] [SUB] Exception in thread "main" java.lang.UnsatisfiedLinkError: Native library (com/sun/jna/win32-x86-64/jnidispatch.dll) not found in resource path ()
[INFO] [SUB] at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1059)
[INFO] [SUB] at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:1015)
[INFO] [SUB] at com.sun.jna.Native.<clinit>(Native.java:221)
[INFO] [SUB] at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:87)
[INFO] [SUB] at ink.bluecloud.vlcjjfx.VlcjJavaFxApplications.<clinit>(VlcjJavaFxApplications.kt:30)
VlcjJavaFxApplications.kt 的行是:
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Users\\Anivie\\Desktop\\vlc-3.0.16")
所以我尝试在我的gradle中添加jna依赖,现在是这样的:
dependencies {
implementation 'uk.co.caprica:vlcj-javafx:1.0.3'
implementation 'net.java.dev.jna:jna:5.10.0'
implementation 'net.java.dev.jna:jna-platform:5.10.0'
}
但是这个错误仍然存在。
这是我的构建命令:
gradlew nativeRunAgent
gradlew nativeBuild
gradlew nativeRun
我正在使用shadow插件制作一个jar文件,这个dll包含在其中。我该如何解决?