Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2285876
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: LINUX

2011-09-22 19:10:59

1 说明
 
目前 里面libvirt-java的最新版本是0.4.7   对应的libvirt的版本是0.8.2
我就将我的服务器上的libvir的版本升级到0.8.2(我服务器上的libvirt版本是0.8.1,现在最新的libvirt版本是0.9.6,应该对应此libvirt-java也能使用,没有试验,大家可以试一下)
 
在安装libvirt-0.8.2的过程中遇到的问题  自己的平台是 CentOS 6.0
(1)下载地址   
(2)解压
(3)cd到解压之后的目录libvirt-0.8.2
(4)执行./configure  报错  libvirt error:cannot find libxml2 anywhere
需要你安装一个libxml2>=2.6.0
(5)发现已经安装libxml2-2.7  版本了。为什么呢?
(6)安装libxml2.devel
(7)重新./configure  又提示没有安装GnuTLS
(8)安装gnutls-devel
(9)继续重新./configure  又有提示说缺少 device-mapper-devel
(10)没有怎么办 安装9呗
(11)又  ./configure 。。。继续报错 说没有libnl
(12)安装!!!libnl-devel
(13)再次 ./configure   终于成功了
(14)make
(15)make install
(16)看一下现在libvirt的版本  
  1. #libvirtd --version
终于变成libvirt-0.8.2了
 
(17)可以试一下libvirt-java-0.4.7里面带的例子 test.java
 
例子:
  1. import org.libvirt.Connect;
  2. import org.libvirt.Domain;
  3. import org.libvirt.LibvirtException;

  4. public class Test {

  5.     /**
  6.      * @param args
  7.      */
  8.     public static void main(String[] args) {
  9.         Connect conn = null;
  10.         int flags = 0;

  11.         try {
  12.             
  13.             
  14.             conn = new Connect("qemu:///system", false);

  15.             String dumpxml = ""+
  16.              "tt2"+
  17.              "524288"+
  18.              "524288"+
  19.              "1"+
  20.              ""+
  21.              " hvm"+
  22.              " "+
  23.              ""+
  24.              ""+
  25.              " "+
  26.              " "+
  27.              " "+
  28.              ""+
  29.              ""+
  30.              "destroy"+
  31.              "restart"+
  32.              "restart"+
  33.              ""+
  34.              " /usr/bin/qemu-kvm"+
  35.              " "+
  36.              " "+
  37.              " "+
  38.              " "+
  39.              " "+
  40.              " "+
  41.              " "+
  42.              " "+
  43.              " "+
  44.              " "+
  45.              " "+
  46.              " "+
  47.              " "+
  48.              " "+
  49.              " "+
  50.              " "+
  51.              " "+
  52.              ""+
  53.             "";
  54.             
  55.             
  56.             Domain dm = null;
  57.             
  58.             Domain dm1 = conn.domainDefineXML(dumpxml);
  59.             //Domain dm1 = conn.domainDefineXML(dumpxml); //创建一个域,但不启动

  60.             //dm1.undefine(); //undefind一个域,如果活动,则不停止


  61.             /****
  62.             try{
  63.                 Domain dm1 =conn.domainLookupByName("tt2");
  64.             }
  65.             catch (LibvirtException e) {
  66.                 System.out.println("libvirt 错误" + e);
  67.                 // TODO: handle exception
  68.             }
  69.             if(dm!=null)
  70.             {
  71.                 
  72.                 dm.undefine();
  73.                 
  74.             }
  75.             ****/
  76.         
  77.             /********
  78.             Domain dm2 = conn.domainDefineXML(dumpxml);
  79.             dm2.undefine();
  80.             *******/
  81.                         
  82.         } catch (LibvirtException e) { //LibvirtException 返回错误详细信息

  83.             System.out.println("exception caught:" + e);
  84.             System.out.println("获取的错误;" + e.getError());

  85.             return;
  86.         }
  87.         
  88.         System.out.println("Clean exit");

  89.     }

  90. }
 
原程序经过小刀
 
阅读(6024) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~