Java 7 和 Java 8 在 Windows 7 Pro x64 上共存 - 如何修复正在运行的旧 jar 文件

Java 7 和 Java 8 在 Windows 7 Pro x64 上共存 - 如何修复正在运行的旧 jar 文件

我有一个 Win7 Pro x64 Box,其中运行着 JRE 7u80 和 8u60(都是 i586 版本),因为我有两个应用程序需要其中一个才能运行。

我知道可以通过调用具有相应 java.exe 路径的批处理来启动 JAR 文件,这就是我尝试过的:

start "c:\Program Files (x86)\Java\jre7\bin\java.exe" "c:\samplepath\some.jar"

(它应该是

start "c:\Program Files (x86)\Java\jre7\bin\java.exe" -jar "c:\samplepath\some.jar"

根据文档,但是 -jar 开关导致错误“找不到 -jar”)

只要没有安装 Java 8,这个调用就可以顺利启动应用程序,这让我得出结论,它可能没问题。

安装 Java 8 后,此调用“什么也不做” - 好吧,几乎什么也不做。我可以在任务管理器中看到 Java 进程几秒钟,然后它就消失得无影无踪,没有任何错误消息或任何东西。

我甚至从 %path% 中删除了 Java 条目并重新启动,更改了 JRE 安装的顺序,在 Java 控制面板中停用了 Java 8,但还是没用。如果安装了 Java 8,我的 jar 将无法运行。

由于开发人员不再在线,因此无法与他交谈。我对此毫无头绪。有人能帮我看看下一步该怎么做吗?

现在我将安装文件保存在桌面上,以便按需安装和转储 Java 8,这是一种非常荒谬和绝望的处理方式 :-)

答案1

但是 -jar 开关会导致错误,即找不到 -jar

你的开始` 语法不正确:

  • 如果没有title并且command被引号包围"..."(因为它包含空格)那么它会被误解为title

  • 在您的情况下"c:\Program Files (x86)\Java\jre7\bin\java.exe"被解释为title-jar命令(当然无法找到)。

你的命令应该是:

start "title" "c:\Program Files (x86)\Java\jre7\bin\java.exe" -jar "c:\samplepath\some.jar"

如果愿意,您可以使用""(空字符串) :title

start "" "c:\Program Files (x86)\Java\jre7\bin\java.exe" -jar "c:\samplepath\some.jar"

句法

START "title" [/D path] [options] "command" [parameters]

钥匙

title       Text for the CMD window title bar (required.)
path        Starting directory.
command     The command, batch file or executable program to run.
parameters  The parameters passed to the command.

...

始终包含一个标题,可以是一个简单的字符串,"My Script"或者只是一对空引号""

根据 Microsoft 文档,标题是可选的,但根据所选的其他选项,如果省略标题,则可能会遇到问题。

来源开始

进一步阅读

相关内容