gpt4 book ai didi

java - 如何在 Linux 的 java 程序中打开包含 GUI 的 .bat?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:17 24 4
gpt4 key购买 nike

大家。我是新来的,所以如果我犯了任何错误,请多多包涵。

我有一个 .bat 文件,其中包含一个命令行,用于打开一个 .jar 文件,该文件包含一个带有 GUI 的程序。 .bat 文件中唯一的一行是:

    java -jar "NewServer.jar" 

我一直在尝试使用 Runtime() 来让它运行,但我发现在 java 程序中打开 .bat 文件的大多数指令都是针对 Windows 的。我目前正在使用 Fedora 12(不要告诉我升级,我不能)如果这会有所作为并使用 Eclipse 进行编程。我也发现了这个 ProcessBuilder 东西,但我无法让它工作,所以除非你有关于如何使用它的非常明确的说明,否则请不要将它包含在你的答案中。我宁愿使用运行时。它看起来更简单。

这是我在 Java 程序中使用运行时进行测试的代码。我希望如果我能让它工作,我就能让它在我的真实程序中工作。

import java.io.IOException;

public class testbat {

public static void main(String[] args) {

Process proc = null;
try {
proc = Runtime.getRuntime().exec("./ myServer.bat");
} catch (IOException e) {

e.printStackTrace();
}

System.out.println("Cool");


}

最后一行是为了让我在 GUI 未打开的情况下查看程序是否实际运行。此外,我已经尝试过许多东西的组合以包含在“.exec”之后的区域中。我试过使用像“~/user/workspace/ProjectServer/dist/myServer.bat”这样的路径,但无济于事。

我也已经知道 .bat 文件适用于 windows,但我可以在 linux 中执行它,所以我不知道这是否会有所不同。我也尝试以同样的方式使用 .sh 文件,但没有成功。

请记住,我不是很擅长 Java,但我必须将它用于这个特定的程序,所以如果你的答案真的是描述性的,那就太棒了。

最佳答案

只需从 bat 文件中取出该行,然后运行它。你太难了。

$ java -jar "NewServer.jar"

会起作用。引号不是必需的,所以

$ java -jar NewServer.jar

也会起作用。如果您想拥有与您的 bat 文件等效的文件,请创建一个名为 run_newserver 的文件,其中包含该行。将其模式更改为可执行:

$ cat > run_newserver
java -jar NewServer.jar
^D
$ chmod a+x run_newserver
$ ./run_newserver

理想情况下,因为您不应该有没有评论的脚本,所以这样做。在您最喜欢的编辑器中,创建一个包含 run_newserver 的文件

#!/usr/bin/env bash
java -jar NewServer.jar

chmod那个。带有 #! 的行——通常称为“shebang 行”——是 UNIX 的魔法,它可以让你说出你想要的解释器。 usr/bin 中的程序 env 找到您的程序并运行它(需要,因为不同的系统将 bash 放在不同的目录中。)

也可以甚至在文件中添加解释性注释。

我有点不清楚您为什么要使用 Runtime#exec 来运行它——看来您只需要一个 shell 脚本来启动那个程序。

关于java - 如何在 Linux 的 java 程序中打开包含 GUI 的 .bat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com