运行 jar 文件使用 Qt (QProcess)

问题描述

我如何从 qt 执行 jar 应用程序(使用 Windows)?我知道 QProcess,我使用它:

     QProcess myProcess;
     myProcess.setWorkingDirectory("D:\Programs\Qt\Units\MyJavaProjects\StackExp\target");
     myProcess.start("StackExp-1.0-SNAPSHOT.jar");
     myProcess.waitForFinished();

显示此消息:

D:\Programs\Qt\Units\MyJavaProjects\Qt-Java\JavaQt\mainwindow.cpp:78: предупреждение: C4129: 'P': unrecognized character escape sequence

D:\Programs\Qt\Units\MyJavaProjects\Qt-Java\JavaQt\mainwindow.cpp:78: предупреждение: C4129: 'Q': unrecognized character escape sequence

D:\Programs\Qt\Units\MyJavaProjects\Qt-Java\JavaQt\mainwindow.cpp:78: предупреждение: C4129: 'M': unrecognized character escape sequence

D:\Programs\Qt\Units\MyJavaProjects\Qt-Java\JavaQt\mainwindow.cpp:78: предупреждение: C4129: 'S': unrecognized character escape sequence

而且我的 jar 文件无法运行。我如何从 qt 执行我的 jar 文件?我的问题有 qt 其他库吗? 你怎么看?

解决方法

当您“运行 example.jar”时,您实际上是在运行 java.exe -jar example.jar

QProcess process;
process.setWorkingDirectory("D:\\Programs\\Qt\\Units\\MyJavaProjects\\StackExp\\target");
process.setProgram("java.exe");
process.setArguments({"-jar","StackExp-1.0-SNAPSHOT.jar"});
process.start();