gpt4 book ai didi

java - 具有多个 main() 的 JAR——如何从第一个应用程序启动第二个应用程序?

转载 作者:行者123 更新时间:2023-11-30 09:20:55 25 4
gpt4 key购买 nike

我已将共享大量代码的两个独立 JAR 合并到一个 JAR 中。到目前为止没问题,因为在一个 JAR 中可以有多个 static void main()

直接调用主应用:

java -jar myjar.jar arg1 arg2

另一个应用程序需要显式调用它的替代main():

java -classpath myjar.jar alternative.main arg1

也不是什么大问题。

但是,现在我必须从 主应用程序中调用 替代 应用程序。

我可以这样做:

Runtime.getRuntime().exec( "java -classpath myjar.jar alternative.main arg1" );

但这让我觉得缺乏技巧。是否有一些更优雅/更有效的方式来启动第二个替代 main()

最佳答案

如果两个主要应用程序都可以在同一个 JVM 中运行并且调用是同步的,那么这应该可行。

String[] args = { "arg1" };
alternative.main.main(args);

如果调用不应该是同步的,但可以是同一 JVM 中的不同线程,那么您可以创建一个新线程来调用替代的 main 方法。

如果它必须是一个单独的进程/JVM,那么您所做的就足够了。或者,您可以使用 java.lang.ProcessBuilder

关于java - 具有多个 main() 的 JAR——如何从第一个应用程序启动第二个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188960/

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