可以在java jar中打包.exe文件,并将此jar添加到项目的部署程序集中,而不是通过使用以下命令运行此exe:
Runtime.getRuntime().exec();
我试图通过使用类加载器在glassfish域中获取它的路径后运行此exe,但实际上这个exe被打包在jar中,阻止窗口执行它。
答案 0 :(得分:1)
您必须先从 jar 中提取它:
FileOutputStream fos=null;
InputStream is = null;
try
{
is = this.getClass().getResourceAsStream("path to your exe inside the jar");
fos = new FileOutputStream("destination path on host file system");
byte[] buffer = new byte[1024];
int read;
while ((read = is.read(buffer)) > -1)
fos.write(buffer, 0, read);
}
finally
{
if (is != null)
is.close();
if (fos != null)
fos.close();
}
然后,使用Runtime.getRuntime().exec()
在主机文件系统上运行它。