0

所以,我一直在做一些搜索,我可以找到一些关于如何运行外部应用程序的东西,但我无法让它们工作!我已经为此工作了一段时间,这真的很烦人。

我想要做的是在目录中运行一个 .jar 文件

C:\Program Files\AVTECH\NPS\Files\bin\NPS.jar

我用代码尝试了很多不同的东西

Process p = Runtime.getRuntime().exec("dir goes here");.

Process p = Runtime.getRuntime().exec("C:\\Program Files\\AVTECH\NPS\\Files\\bin\\NPS.jar");.

如果我是正确的,它使用命令提示符来执行此操作?或者至少是 MS-DOS 语言。几年前我做过一些这样的事情,但我不记得如何做到这一点......我以前从未在java中使用过这种东西......

有人可以帮忙吗?提前致谢。

4

3 回答 3

3

Runtime.exec() 就像你在输入一个命令一样工作。

启动 jar 文件不起作用:您必须调用

java -jar /path/to/my/jar

查看 Oracle 文档以了解如何执行 jar 文件。

于 2012-12-06T15:37:49.643 回答
1

实际的命令应该是java -jar C:\\Program Files\\AVTECH\NPS\\Files\\bin\\NPS.jar. 我的意思是——如果 jar 文件确实是可执行的,这并不意味着它会运行,只需尝试调用它。您需要告诉 Java 运行它,如上所示。

此外,MS-DOS 不是一种语言——它代表 Microsoft 磁盘操作系统。如今,您将其作为 Windows 中内置的命令行提示符(Shell)。

于 2012-12-06T15:38:57.397 回答
0

您需要将该命令作为对可执行文件和一组参数的调用来运行。 检查此版本的 Runtime.exec(String[] cmdarray)。如果需要,还有一个版本Runtime.exec()需要一个基目录来启动可执行文件。

于 2012-12-06T16:00:39.757 回答