gpt4 book ai didi

java - 如何在新进程中执行Jar文件并关闭原来的Jar?

转载 作者:行者123 更新时间:2023-11-30 04:33:12 25 4
gpt4 key购买 nike

我有 2 个 jar 文件。我希望 Jar A 打开 Jar B,然后让 jar A 终止,让 Jar B 运行。我该怎么做呢?

编辑:我的意思是我希望 JarA 在 JVM 的一个实例中打开,然后我希望 JarA 在 JVM 的一个新实例中执行 JarB,然后 JarA 使用 system.exit(0)

最佳答案

要启动新的 JVM,您将像任何其他操作系统命令一样启动外部 java 进程,请查找 ProcessBuilder 上的文档。

 ProcessBuilder pb = new ProcessBuilder("java", "-classpath", "B.jar", "B.BMain");
Process p = pb.start();

在 Java 中启动外部进程有很多注意事项,您会在这里找到很多有关搜索 ProcessProcessBuilder 的 Material

<小时/>

jar 文件不会运行或终止;这就是 jvm,例如由命令 java 启动。例如,当您运行以下命令时:

java -classpath A.jar A.Main

启动一个新的jvm并执行A.Main类的main方法

现在,方法 Main.main()可以调用 B.jar 中类的方法(如果它位于类路径中)。例如,如果命令是

java -classpath A.jar;B.jar pkg.A

然后在A.Main.main中可以有

 B.SomeClass.SomeMethod()

B 位于 B.jar

这就是你说的“打开 B.jar”的意思吗?请注意,这不会“关闭”另一个“A.jar”,无论这意味着什么。

关于java - 如何在新进程中执行Jar文件并关闭原来的Jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14132137/

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