Java-клиент с libvirt для Windows - PullRequest
       2

Java-клиент с libvirt для Windows

1 голос
/ 24 декабря 2011

Я пишу клиент на основе Java, который будет выполняться из Windows, который будет использовать libvirt.

  1. Получил libvirt-java (http://libvirt.org/sources/java/libvirt-java-0.4.7.tar.gz) и собрал jar из него (Ant без параметров)
  2. Затем, согласно http://libvirt.org/windows.html,, собрал dll, используя «скрипт сборки MSYS»
  3. Получил 2 файла libvirt-0.dll и libqemu-0.dll

Когда я запускаю пример примера (в Eclipse) из http://libvirt.org/java.html,, я получаю следующую ошибку:

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'virt': %1 is not a valid Win32 application.

      at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:169)
      at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:242)
      at com.sun.jna.Library$Handler.<init>(Library.java:140)
      at com.sun.jna.Native.loadLibrary(Native.java:368)
      at com.sun.jna.Native.loadLibrary(Native.java:353)
      at org.libvirt.jna.Libvirt.<clinit>(Unknown Source)
      at org.libvirt.Connect.<clinit>(Unknown Source)
      at Main.main(Main.java:26)

Также пытаюсь вместо кросс-компиляции шага 2 в Fedora - та же ошибкасообщение при использовании новой библиотеки DLL.

Кто-нибудь знает, как решить проблему?

Ответы [ 2 ]

0 голосов
/ 15 июля 2013

Я не знаю, исправили ли вы эту проблему уже, но если нет, вам нужно сделать копию libvirt-0.dll и переименовать ее в libvirt.dll, чтобы jna могла ее загрузитьи установите jna.library.path в каталог, содержащий эту DLL.Кроме того, я предполагаю, что это на 32 битах, поэтому вам также нужно использовать Java на 32b для компиляции и выполнения

0 голосов
/ 17 февраля 2012

Вам необходимо установить jna.library.path значение системного свойства на путь, в котором находятся dll.

...