【发布时间】:2020-06-24 11:08:11
【问题描述】:
我正在尝试通过代码使用JADE 运行多代理系统。 通常,我可以使用以下命令通过命令行运行翡翠系统:
java jade.Boot -gui
通过更改项目属性并将运行配置指向jade.Boot类,它也可以很好地使用Netbeans IDE。
我的问题是:我想通过 java 代码运行这个系统......假设,当用户点击一个按钮时,据我所知,上面指定的这个命令应该使用以下代码工作:
Process p=null;
try {
p = Runtime.getRuntime().exec("java jade.Boot -gui;");
}
catch (IOException ex) {
Logger.getLogger(SimulationCreator.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s;
try {
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}
} catch (IOException ex) {
Logger.getLogger(SimulationCreator.class.getName()).log(Level.SEVERE, null, ex);
}
但是我什么也没得到,JADE 系统既没有运行也没有任何错误。
我错过了什么?
P.S.:我正在开发 ubuntu 20.0。
P.S.:通过“ps -aux”之类的代码运行其他命令效果很好!
【问题讨论】:
-
尝试读取并打印错误流,看看是否有错误。类路径是否设置为存放翡翠文件夹的文件夹?
-
@NormR 是的,这似乎是与类路径有关的问题,谢谢!现在我正在努力解决它。
标签: java ubuntu command-line agents-jade multi-agent