现在想使用JMX取WAS7.0的一些参数,连接WAS的方法如下:
AdminClient ac = null;
java.util.Properties props = new java.util.Properties();
props.setProperty(AdminClient.CONNECTOR_HOST, hostStr);
props.setProperty(AdminClient.CONNECTOR_PORT, portStr);
props.setProperty(AdminClient.CONNECTOR_TYPE, connector);
// 当开启全局安全性管理后,必须设定为TURE
props.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
// 为Websphere的超级管理员用户名
props.setProperty(AdminClient.USERNAME, "admin");
// 为Websphere的超级管理员用户密码
props.setProperty(AdminClient.PASSWORD, "123456");
// 为Websphere的信赖认证库的存储地址
props.setProperty("javax.net.ssl.trustStore", "C:\test\TrustStore.jks");
// 为Websphere的认证证书库的存储地址
props.setProperty("javax.net.ssl.keyStore", "C:\test\KeyStore.jks");
// 为Websphere的信赖认证库的密码
props.setProperty("javax.net.ssl.trustStorePassword", "123456");
// 为Websphere的认证证书库的密码
props.setProperty("javax.net.ssl.keyStorePassword", "123456");
ac = AdminClientFactory.createAdminClient(props);
使用的jar包是com.ibm.ws.admin.client_7.0.0.jar
但是这一步部分连接程序放到java application中执行,也就是main中,就能够正常连接到WAS
但是我把同样的程序部署到tomcat中AdminClientFactory.createAdminClient(props);就会抛错:
java.lang.NoClassDefFoundError: com/ibm/ws/bootstrap/RASWsLoggerFactory
at com.ibm.websphere.management.AdminClientFactory.
(AdminClientFactory.java:108)
请专家告诉我这是怎么回事?这段代码依赖于WEB容器吗?收起