java - libvirt java 绑定(bind)。无法修改设备

标签 java libvirt

我计划使用 libvirt 通过网络控制一些 KVM。 到目前为止,连接正常。我使用以下代码建立连接

Connect conn = null;
    try
    {
        ConnectAuth ca = new ConnectAuthDefault();

        conn = new Connect("qemu+ssh://targetUser@targetIP/system", ca, 0);
    }
    catch(LibvirtException e)
    {
        System.out.println("exception caught:" + e);
        System.out.println(e.getError());
    }

我通过以下方式获得了对域的引用

Domain d = conn.domainLookupByName("win7");

但是当我尝试连接或分离设备时(我想修改 vnc 端口)

d.detachDevice("<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0'/>");

我收到异常消息请求的操作无效:无法在非 Activity 域上分离设备

好吧,错误消息似乎告诉我虚拟机没有运行。所以如果我通过启动域

d.create();

当我从上面执行 detachDevice 时,出现以下错误不支持的配置:这种类型的设备无法热拔

是啊,那又怎样?如果域未运行,我无法更改配置,如果域正在运行,我也无法更改配置?

谁能告诉我我做错了什么?如何在不启动域的情况下激活域?我在网上搜索没有找到任何帮助。

提前非常感谢您的帮助。 你好,-克里斯-

最佳答案

您可以使用virsh edit $domainName修改xml配置文件

关于java - libvirt java 绑定(bind)。无法修改设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9870987/

相关文章:

xml - 如何使用 virt-install 将 VLAN 信息添加到 VM xml 文件?

php - 在 Ubuntu Server 12.04 上编译 libvirt-php 时出错

java - LinearLayout 中的多个 TableLayouts - Android

java - 从 libvirt relaxng 模式生成 java 类的最佳方法是什么?

virtualization - libvirt:virt-install 在安装时挂起

c - 通过 libvirt 将文件描述符传递给 qemu (C api)

java - (JTabbedPane) 与 Nimbus 不同,透明度在 L&F 上不起作用

java - 转换 TargetDataLine 时出现 ClassCastException

java - 错误: cannot find symbol resultset

java - 多个线程如何在同一对象上拥有 "locked"(如线程转储所示)