zoukankan      html  css  js  c++  java
  • 虚拟化平台cloudstack(6)——使用maven:jetty调试

    调试环境

    ubuntu 12.04

    JDK1.7

    apache-maven-3.10

    eclipse 4.2 Juno

    mysql 5

    apache ant

    JDK的配置和安装

    安装可以参考:

    http://my.oschina.net/jamesju/blog/94916

    我是安装在~//java/jdk1.7.0_21下,执行java -version可以看到当前的JDK版本。

    Maven的配置和安装

    安装可以参考:

    http://blog.csdn.net/sin90lzc/article/details/7429620

    Eclipse及插件安装

    到eclipse官网下载4.2或者最新的4.3版本的eclipse.

    下载地址:

    http://www.eclipse.org/downloads/

    安装PyDev插件,用来查看python角本,因为底层操作是使用python写的。

    安装地址:

    http://pydev.org/updates/

    然后安装eclipse的m2e插件,就是eclipse的maven插件。

    安装地址:

    http://download.eclipse.org/technology/m2e/releases

    然后在eclipse的

    因为源码是上传到git上的,所以要安装Egit插件。

    安装地址:Preferences里边配置maven的路径,就是刚安装的maven的路径。

    http://download.eclipse.org/egit/updates

    安装完成后可以到菜单Help->About Eclipse->Installation Details,点击

    下载源码

    使用File->Import

    选择Next,选择URI

    输入:

    https://git-wip-us.apache.org/repos/asf/cloudstack.git

    选择要调试的版本,这里要调试是4.02版本,比较稳定的一个版本,如下图:

    然后选择本地路径,Finish。

    接下来就等着下载源码,这个时间跟网速有关。

    然后再选择File->Import,选择Existing Maven Projects,选择刚才保存的git本地路径,导入刚下载的工程。

    编译和运行jetty

    使用maven编译,点击Run->Run Configuration

    compile -U,-U表示强制更新,如果有未更新完成的包也会重新下载,这个可以根据自己的情况选择加或不加。

    然后点Run,编译成功后会出现如下结果:

    [INFO] Reactor Summary:
    [INFO] 
    [INFO] Apache CloudStack ................................. SUCCESS [1.038s]
    [INFO] Apache CloudStack Utils ........................... SUCCESS [1.485s]
    [INFO] Apache CloudStack API ............................. SUCCESS [0.633s]
    [INFO] Apache XenSource XAPI ............................. SUCCESS [0.135s]
    [INFO] Apache CloudStack Core ............................ SUCCESS [0.495s]
    [INFO] Apache CloudStack Agents .......................... SUCCESS [0.546s]
    [INFO] Apache CloudStack SystemVM Patches ................ SUCCESS [0.209s]
    [INFO] Apache CloudStack Console Proxy ................... SUCCESS [0.347s]
    [INFO] Apache CloudStack Server .......................... SUCCESS [0.470s]
    [INFO] Apache CloudStack Usage Server .................... SUCCESS [0.214s]
    [INFO] Apache CloudStack Plugin POM ...................... SUCCESS [0.196s]
    [INFO] Apache CloudStack Plugin - User Concentrated Pod Deployment Planner  SUCCESS [0.165s]
    [INFO] Apache CloudStack Plugin - User Dispersing Deployment Planner  SUCCESS [0.236s]
    [INFO] Apache CloudStack Plugin - Host Allocator Random .. SUCCESS [0.355s]
    [INFO] Apache CloudStack Plugin - Hypervisor OracleVM .... SUCCESS [0.477s]
    [INFO] Apache CloudStack Plugin - Open vSwitch ........... SUCCESS [0.328s]
    [INFO] Apache CloudStack Plugin - Hypervisor Xen ......... SUCCESS [0.412s]
    [INFO] Apache CloudStack Plugin - Hypervisor KVM ......... SUCCESS [0.395s]
    [INFO] Apache CloudStack Plugin - Network Elastic Load Balancer  SUCCESS [0.174s]
    [INFO] Apache CloudStack Plugin - Network Nicira NVP ..... SUCCESS [0.175s]
    [INFO] Apache CloudStack Plugin - Storage Allocator Random  SUCCESS [0.158s]
    [INFO] Apache CloudStack Plugin - User Authenticator LDAP  SUCCESS [0.161s]
    [INFO] Apache CloudStack Plugin - User Authenticator MD5 . SUCCESS [0.169s]
    [INFO] Apache CloudStack Plugin - User Authenticator Plain Text  SUCCESS [0.166s]
    [INFO] Apache CloudStack AWS API Bridge .................. SUCCESS [2.046s]
    [INFO] Apache CloudStack Test ............................ SUCCESS [0.167s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 12.256s
    [INFO] Finished at: Fri Aug 02 22:21:41 CST 2013
    [INFO] Final Memory: 25M/357M
    [INFO] ------------------------------------------------------------------------

    然后运行jetty,这个默认是在cloud-client-ui这个工程里边配置的,所以配置如下:

    如果中间出现问题,岀到出错的工程中选择maven clean然后再maven install一下,然后再执行cloudrun运行jetty,这样反复几次,就可以成功运行jetty了。

    这时启动会报错,因为没有安装数据库。

    安装数据库:

    $ sudo apt-get install mysql-server
    在弹出的界面中输入密码,如: cloudstack

    然后

    修改MySQL配置文件参数
    $ sudo vim /etc/mysql/my.cnf
    在[mysqld]模块中加入以下参数
    1    innodb_rollback_on_timeout=1
    2    innodb_lock_wait_timeout=600
    3    max_connections=350
    4    log-bin=mysql-bin
    5    binlog-format = 'ROW'
    
    重启MySQL
    $ sudo service mysql restart

    在eclipse中找到replace.properties文件,修改replace.properties文件中的key为DBROOTPW的值,这个值是mysql默认的密码,我们修改成上面的cloudstack

    然后安装ant

    sudo apt-get install ant

    安装完成后到源码安装目录或者在eclipse中执行

    ant deploydb

     这样数据库就可以成功部署了。

    然后在调试的时候需要选择Debug->Debug Configuration->Source->Add

    将所有源码工程加上。

    然后打上断点,以Debug模式运行,就可用断点调试了。

    可能遇到的问题

    1、工程jar包丢失,编译不过去

    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-user-authenticator-md5:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-user-authenticator-plaintext/4.0.2/cloud-plugin-user-authenticator-plaintext-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-user-authenticator-plaintext:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-network-nvp/4.0.2/cloud-plugin-network-nvp-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-network-nvp:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-network-ovs/4.0.2/cloud-plugin-network-ovs-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-network-ovs:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-network-elb/4.0.2/cloud-plugin-network-elb-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-network-elb:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-hypervisor-xen/4.0.2/cloud-plugin-hypervisor-xen-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-hypervisor-xen:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-hypervisor-ovm/4.0.2/cloud-plugin-hypervisor-ovm-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-hypervisor-ovm:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-hypervisor-kvm/4.0.2/cloud-plugin-hypervisor-kvm-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-hypervisor-kvm:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-storage-allocator-random/4.0.2/cloud-plugin-storage-allocator-random-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-storage-allocator-random:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-planner-user-dispersing/4.0.2/cloud-plugin-planner-user-dispersing-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-planner-user-dispersing:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-planner-user-concentrated-pod/4.0.2/cloud-plugin-planner-user-concentrated-pod-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-planner-user-concentrated-pod:jar:4.0.2 is missing, no dependency information available
    [INFO] Downloading: http://repo.maven.apache.org/maven2/org/apache/cloudstack/cloud-plugin-host-allocator-random/4.0.2/cloud-plugin-host-allocator-random-4.0.2.pom
    [WARNING] The POM for org.apache.cloudstack:cloud-plugin-host-allocator-random:jar:4.0.2 is missing, no dependency information available

    找到对应的工程,然后执行mvn clean install,哪个出问题就在哪个工程上执行就可以了。

  • 相关阅读:
    容斥原理算法总结(bzoj 2986 2839)
    网络流系列算法总结(bzoj 3438 1061)
    bzoj 2746: [HEOI2012]旅行问题 AC自动机fail树
    bzoj 3283: 运算器 扩展Baby Step Giant Step && 快速阶乘
    计算几何考场绘图技巧
    bzoj 1845: [Cqoi2005] 三角形面积并 扫描线
    bzoj 3784: 树上的路径 堆维护第k大
    BZOJ 1231: [Usaco2008 Nov]mixup2 混乱的奶牛
    BZOJ 1112: [POI2008]砖块Klo
    BZOJ 1003: [ZJOI2006]物流运输trans DP+最短路
  • 原文地址:https://www.cnblogs.com/skyme/p/3233516.html
Copyright © 2011-2022 走看看