gpt4 book ai didi

java - Bat 文件在退出时打开空白命令提示符

转载 作者:可可西里 更新时间:2023-11-01 10:03:10 25 4
gpt4 key购买 nike

我有一个 .jar 文件和一个用于该特定 .jar 的 jre 文件夹,通过这样做,用户将不必下载 Java,或者如果他们没有,它仍然可以工作。

为了启动这个 .jar 文件,我使用了一个 .bat 文件,如下所示。

%~dp0jre\bin\java.exe -jar %~dp0myJar.jar

%~dp0部分用于查找jre文件和.jar文件的路径。

但问题是,每当 .bat 文件启动 .jar 文件时,命令提示符仍然打开。我知道这是因为我的程序是一个“窗口”应用程序,因此命令提示符将在 .jar 程序完成后首先关闭。

为了解决这个问题,我尝试使用以下不同的方法修改 .bat 文件。 (不是一次全部,一次一个)

start %~dp0jre\bin\java.exe -jar %~dp0myJar.jar

start "" "%~dp0jre\bin\java.exe" -jar %~dp0myJar.jar

start %~dp0jre\bin\java.exe -jar %~dp0myJar.jar
exit

start "" "%~dp0jre\bin\java.exe" -jar %~dp0myJar.jar
exit

%~dp0jre\bin\java.exe -jar %~dp0myJar.jar
exit

但是......当使用这些方法时,这些方法似乎对其他人有效,而不是完全关闭命令提示符。它退出启动 .jar 文件的命令提示符,然后打开一个空白命令提示符。关闭 .jar 时,它会关闭新的空白命令提示符,或者如果我关闭新的空白命令提示符,它也会关闭 .jar

我无法弄清楚这是为什么,以及为什么它不只是退出启动 .jar 的第一个命令提示符,然后就是这样。

为了尝试找出问题所在,我从 this 等问题中获得了灵感。等等。

更新

只是尝试直接从命令提示符运行命令,而不是使用实际的 .bat 文件。但是因为我使用的是获取Bat文件中jre和.jar的完整路径的方法,所以我不得不改用完整路径。尽管如此,这次它确实奏效了,通过使用这种方法。

my\long\path\jre\bin\java.exe -jar my\long\path\myJar.jar 
exit

但是当在 .bat 文件中使用相同的方法时,它不会打开空白命令提示符,但它永远不会退出第一个“原始”命令提示符。

最佳答案

经过几次不同的尝试,使用各种命令后,我发现对于我的情况,有效的方法是在任何命令后缀的前面使用 start/B 。所以在我的例子中,命令如下所示。

start /B %~dp0jre\bin\java.exe -jar %~dp0myJar.jar

我找到修复的问题/答案是 following

关于java - Bat 文件在退出时打开空白命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45555486/

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