使用libvirtjavaapi与QEMU建立连接

使用libvirtjavaapi与QEMU建立连接,java,qemu,kvm,libvirt,Java,Qemu,Kvm,Libvirt,我在使用Libvirt API连接QEMU时遇到问题,代码如下: import org.libvirt.Connect; import org.libvirt.ConnectAuth; import org.libvirt.ConnectAuthDefault; import org.libvirt.LibvirtException; import org.libvirt.NodeInfo; public class Main { public static void main(Stri

我在使用Libvirt API连接QEMU时遇到问题,代码如下:

import org.libvirt.Connect;
import org.libvirt.ConnectAuth;
import org.libvirt.ConnectAuthDefault;
import org.libvirt.LibvirtException;
import org.libvirt.NodeInfo;

public class Main 
{
  public static void main(String[] args)
  {
    System.setProperty("jna.library.path", "/home/johann/workspace/LibvirtTest/lib");
    try {
      ConnectAuth ca = new ConnectAuthDefault();
      Connect conn = new Connect("qemu+tcp://192.168.122.0/24", ca, 0);
      NodeInfo ni = conn.nodeInfo();

      System.out.println("model: " + ni.model + " mem(kb):" + ni.memory);

    } catch(LibvirtException le) {
       le.printStackTrace();
    }
  }
}
问题出在线路上

Connect conn = new Connect("qemu+tcp://192.168.122.0/24", ca, 0);
它使编译器抛出此异常

Exception in thread "main" java.lang.UnsatisfiedLinkError:       com.sun.jna.Native.pointerSize()I
at com.sun.jna.Native.pointerSize(Native Method)
at com.sun.jna.Native.<clinit>(Native.java:88)
at org.libvirt.jna.Libvirt.<clinit>(Unknown Source)
at org.libvirt.Connect.<clinit>(Unknown Source)
at Main.main(Main.java:16)
线程“main”java.lang.UnsatisfiedLinkError:com.sun.jna.Native.pointerSize()I中出现异常 位于com.sun.jna.Native.pointerSize(本机方法) 位于com.sun.jna.Native(Native.java:88) 位于org.libvirt.jna.libvirt.(未知来源) 位于org.libvirt.Connect。(未知来源) Main.Main(Main.java:16) 我在Virtual Machine Manager localhost QEMU的详细信息中找到了这个地址和端口,但它似乎不起作用


提前感谢!:)

地址似乎不太合适

“qemu+type://loginname@ip:端口/系统”是正确的

在您的例子中,192.168.122.0/24似乎是一个ip和子网掩码,因为/24等于子网掩码255.255.255.0,不属于这里。。。如果是端口,则必须写入:24。此外,系统也丢失了

qemu+tcp://192.168.122.0:24/system 应该做这项工作-如果不做,尝试两件事:

第一次摆脱:24和测试

第二步,如上图所示添加用户名并进行测试

假设代码的其余部分是正确的,则其中一种可能会起作用。
玩得开心

这个问题的答案在这条线索中解释