【发布时间】:2016-06-01 03:07:06
【问题描述】:
我想在 Java 代码中(使用命令行)配置 GlassFish(例如:create,list..etc JDBC 连接池)
但不起作用:
String [] c= {"C:\\Program Files (x86)\\glassfish-4.1.0\\glassfish4\\bin\\asadmin.bat","list-jdbc-connection-pools\r\nadmin\r\nadmin"};
exeCmd(c);
使用控制台的输出是:
C:\Program Files (x86)\glassfish-4.1.0\glassfish4\bin>asadmin.bat list-jdbc-conn
选举池
CLI031:警告:选项“目标”已过时,将被忽略。
CLI031:警告:选项“目标”已过时,将被忽略。
输入管理员用户名> admin
输入用户“admin”>
的管理员密码
__TimerPool
德比池
ims2Pool
命令 list-jdbc-connection-pools 执行成功。
但我是通过使用 java 得到的:
CLI031:警告:选项“目标”已过时,将被忽略。
CLI031:警告:选项“目标”已过时,将被忽略。
命令 list-jdbc-connection-pools 失败。
退出值为 1
private void exeCmd(String[] command) {
try {
ProcessBuilder probuilder = new ProcessBuilder(command);
Process process = probuilder.start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
int exitValue = process.waitFor();
System.out.println("\n\nExit Value is " + exitValue);
} catch (Exception e) {
e.printStackTrace();
}
}
有什么建议吗?谢谢!
【问题讨论】: