2013-08-24 20 views
2

我在与连接到QEMU与Libvirt库API的一个问题,这里是代码:制作与Libvirt库的Java 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) 

我发现在虚拟机管理器的LO这个地址和端口calhost QEMU的细节,但它似乎并不工作...

在此先感谢! :)

+0

这个问题的答案在这个线程中解释http://stackoverflow.com/questions/33208577/setup-libvirt-java-development-environment-on-linux-machine –

回答

1

看来地址不正确。

“qemu + type:// loginname @ ip:port/system”会是正确的。

在你的情况下,似乎192.168.122.0/24是一个IP和子网掩码,因为/ 24等于子网掩码255.255.255.0,不属于这里...如果它是一个端口,你必须写:24。此外/系统缺少

QEMU + TCP://192.168.122.0:24 /系统应该做的工作 - 如果不是要做两件事情:

1日摆脱:24和测试

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

其中一种可能性应该是假设代码的其余部分是正确的。 玩得开心!