我正在写一个Windows应用程序使用Qt(4.6.1),它使用QProcess类来执行Java应用程序。QProcess不启动Windows应用程序下的Java应用程序
这里的基本代码:
process = new QProcess(this);
connect(process, SIGNAL(started()), this, SLOT(onProcessStarts()));
connect(process, SIGNAL(finished(int)), this, SLOT(onProcessEnds(int)));
connect(process, SIGNAL(readyReadStandardOutput()), this, SLOT(onProcessOutputs()));
connect(process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(onProcessError(QProcess::ProcessError)));
QStringList arguments;
arguments << "-jar";
arguments << "absolute_path\app.jar"; //the java app that I want to execute
arguments << "-blah-blah"; //some java app's arguments
process->start("java", arguments);
我这是怎么开始的Java应用程序,并且正如我在我的Windows XP机器只测试了它的工作原理确定,但据。当我在另一台装有Windows 7的电脑上测试它时,它失败了。
在Windows 7中,使用QProcess信号错误(QProcess中::的processError)后流程 - 发射>启动(...)给我另外,QProcess :: FailedToStart
而且我测试了这个错误: QStringList参数; 论据< <“/ c”; 论据< <“java”; 论据< <“-jar”; 参数< <“absolute_path \ app.jar”; //我想执行的java应用程序 参数< <“-blah-blah”; //一些java程序的参数 process-> start(“cmd.exe”,arguments); 但是,然后cmd.exe抱怨没有找到java ...
我怀疑有一些权限问题,我设置我的可执行文件作为管理员运行,但没有运气,所以我已经用尽了想法...
显然,Java安装在Windows 7机器(手动调用它从cmd.exe工程)。
发布到[email protected] – SunnyShah 2010-06-23 14:20:06
看起来像你的环境没有配置。改变你的PATH环境变量以包含为我保存java.exe的路径,它是“C:\ Java \ JRE \ Bin”,在你的系统上找到java.exe并相应地改变这个路径。 – 2011-02-23 12:46:33
正确配置PATH,正如我在我的问题中所说的,从命令行工作调用java(从任何位置调用它) – 2011-02-23 16:15:57