最近在学习使用JAVA进行Vmware ESXI上账户和虚拟机的管理,将自己的一些代码和心得记录下来
首先是jar包,使用vim25,vijava2120100715,dom4j,三个包(暂时只用到这三个)
第一个案例,先编写一个存储Vmware的IP,账户名,密码的实体类,代码如下
package com.keyou.utils;
/**
* Created by chenzj on 2017/9/1.
* ClientSesion 类:连接VCent服务器(URL、用户名和密码)
*/
import java.io.Serializable;
@SuppressWarnings("serial")
public class ClientSesion implements Serializable {
private String host;//vcent url
private String username;//vcent 用户名
private String password;//vcent 密码
public ClientSesion() {
super();
}
public ClientSesion(String host, String username, String password) {
super();
this.host = host;
this.username = username;
this.password = password;
}
@Override
public String toString() {
return "ClientSesion [host=" + host + ", username=" + username + ", password=" + password + "]";
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
其次,编写一个连接Vmware的工具类,代码如下
package com.keyou.utils;
import java.net.URL;
import com.vmware.vim25.mo.ServiceInstance;
public class VimUtil {
//连接服务器的工具类
public static ServiceInstance connUtil(String ip, String username, String password){
ServiceInstance si = null;
ClientSesion session=new ClientSesion(ip,username,password);
try {
URL url = new URL("https", session.getHost(), "/sdk");
si = new ServiceInstance(url, session.getUsername(), session.getPassword(), true);
}
catch (Exception e) {
e.printStackTrace();
return si;
}
return si;
}
}