2011-12-24 2 views
1

libvirtを使用するWindowsから実行されるJavaベースのクライアントを作成しています。Windows上でlibvirtを使用するJavaクライアント

  1. ガットのlibvirt-javaの(http://libvirt.org/sources/java/libvirt-java-0.4.7.ta​​r.gz)と
  2. (なしのparamsとAntの)それからjarファイルを構築しますその後、http://libvirt.org/windows.htmlによると、
  3. ガット2ファイルのlibvirt-0.dllとlibqemu-0.dll

私は(Eclipseで)サンプル例を実行から「MSYSは、スクリプトを作成」を使用してDLLを構築しました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) 

また、Fedoraでステップ2のクロスコンパイルの代わりに試しました。新しいDLLを使用すると、同じエラーメッセージが表示されます。

問題を解決する方法はありますか?

+0

dllの検索に問題があるようです。ライブラリがdllファイルの存在を確認します。 DLLはウィンドウに登録する必要がありますか? –

+0

この問題を解決できるのはどこですか?私は同じ問題に直面しています。 – GJ13

答えて

0

jna.library.pathシステムプロパティの値を、dllのあるパスに設定する必要があります。

0

この問題を既に解決したかどうかは分かりませんが、そうでない場合は、libvirt-0.dllのコピーを作成し、libvirt.dllの名前を変更してjnaがロードできるようにする必要がありますこのdllを含むディレクトリにjna.library.pathを設定します。 また、私はこれが32ビットであると仮定して、32b上でJavaを使用してコンパイルして実行する必要があります。

関連する問題