gpt4 book ai didi

不同操作系统上的 Java 命令行

转载 作者:太空宇宙 更新时间:2023-11-04 10:50:54 24 4
gpt4 key购买 nike

好的,所以我正在使用进程构建器从当前 java 进程启动一个独立的 java 进程,使用代码:

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "C:\\Users\\MyName\\Desktop\\Test.jar");
pb.start();

为了测试它,就像一个简单的问题一样,命令在所有操作系统上是否总是“java -jar something.jar”?如果不是,mac 和 linux 的格式是什么?

最佳答案

答案很复杂。一些并发症是:

  1. 如果 java 不在搜索路径上,您的 ProcessBuilder 将无法工作。

  2. 您的 ProcessBuilder 会在搜索路径上为您提供 java 的版本,这可能与您要使用的版本不同;例如如果用户安装了多个版本的 java。

  3. 您正在为 JAR 文件使用 Windows 语法的路径名。这不适用于其他平台。

  4. 您正在使用 java 启动器。在将使用自己的控制台窗口启动 JVM 的 Windows 上。 (这相当粗糙/丑陋。)您可能想改用 javaw。但是 javaw 只存在于 Windows 上。


TL;DR - 如果您对 Java 安装做出一些假设,您所写的内容将有效(经过一些修改),但这些假设并不总是有效。


我的建议是启动运行 JAR 文件的 shell 脚本或批处理文件,并为不同的平台提供不同的版本。以允许管理员/专家用户调整脚本以解决与其软件部署相关的问题的方式进行。

关于不同操作系统上的 Java 命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31084765/

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