无法 运行 来自 eclipse neon 的外部程序

Cannot run external program from eclipse neon

我知道有很多这样的问题,但他们并没有真正帮助。

我正在尝试制作一个打印文档(特定文档)的程序,所以我想 "run" 它所在的文件夹,单击文档并按 CTRL+P。所以我尝试只使用 Runtime:

Process p = Runtime.getRuntime().exec("C:/Users/Rasmus/Desktop/Notepad.lnk");

我得到了错误:

java.io.IOException: Cannot run program "C:\Users\iNsaniTy\Desktop\Notepad.lnk": CreateProcess error=193, %1 is not a valid Win32 application

然后是ProcessBuilder(以前没用过,不知道是什么东西),看起来像

new ProcessBuilder("C:/Users/Rasmus/Desktop/Notepad.lnk").start();

我也遇到了同样的错误。我以前用过 Runtime 方法,它起作用了。我不知道这是否重要,但从那时起我就下载了最新版本的 eclipse (eclipse neon)。有哪位好心人有解决办法吗?

@J Doe,.lnk 是实际可执行文件的缩写 link。 您的例外清楚地提到了这一点。

解决方法是提供实际可执行文件的路径。如何检查可执行文件的路径。

Right CLick on .lnk > Open Properties > Path in the Target will be the actual path of the executable.

获取目标路径并在 ProcessBuilder 或 RUntime exec 的代码中使用它