我正在尝试构建一个跨平台(vista、xp、mac、Linux)。我需要将应用程序放在格式化为 FAT-32 的 USB 驱动器中,它应该可以在任何操作系统计算机上运行。计划使用 Java/JavaFx 来做。
任何建议我们如何在多个平台上运行。
嗨,任何人都可以建议使用 uber-jar 来满足上述要求。会不会很合适。
我正在尝试构建一个跨平台(vista、xp、mac、Linux)。我需要将应用程序放在格式化为 FAT-32 的 USB 驱动器中,它应该可以在任何操作系统计算机上运行。计划使用 Java/JavaFx 来做。
任何建议我们如何在多个平台上运行。
嗨,任何人都可以建议使用 uber-jar 来满足上述要求。会不会很合适。
有几点需要考虑:
我的建议是定义您想要支持的操作系统,并在 USB 的根目录上为每个操作系统创建启动器脚本。例如,您至少会有几个像:myapp.cmd(用于 Windows)、myapp.sh(用于 Linux)等。
此外,您可能希望在同一个 USB 中拥有不同的 Java 运行时,因此您可以使用启动器脚本执行 Java 应用程序,并在 USB 文件系统中使用相应的 JRE 运行它。
启动器脚本中的一个转折是以某种方式检查操作系统是否已经有可用的 JRE(比如检查环境中的变量 JAVA_HOME,或检查“java -version”的输出)并采取相应的行动(尽管,运行 Java来自您自己的 JRE 的应用程序会更安全)。