从usb运行java应用程序

时间:2014-07-31 12:13:35

标签: javafx maven-2 usb-drive maven-shade-plugin uberjar

我正在尝试构建一个跨平台(vista,xp,mac,Linux)。 我需要将应用程序放在FAT-32格式的USB驱动器中,它应该可以在任何OS计算机上运行。 计划使用Java / JavaFx来完成它。

有关我们如何在多个平台上运行的任何建议。

嗨,任何人都可以建议使用uber-jar满足上述要求。那会很合适。

1 个答案:

答案 0 :(得分:1)

需要考虑的一些事项:

  • USB必须使用与您需要使用的所有操作系统兼容的文件系统进行格式化。
  • Java应用程序可以在任何能够运行Java的操作系统上运行,但每个操作系统都需要不同的Java运行时。它有一个用于Linux的Java运行时,一个用于Windows,一个用于OSX等。

我的建议是定义你想要支持哪个操作系统,并在USB的根目录上为每个操作系统创建启动器脚本。例如,你至少会有一对像:myapp.cmd(适用于Windows),myapp.sh(适用于Linux)等。

此外,您可能希望在同一个USB中使用不同的Java Runtimes,因此使用启动程序脚本执行Java应用程序,并使用USB文件系统中的相应JRE运行它。

启动器脚本中的一个扭曲是以某种方式检查操作系统是否已经有可用的JRE(比如检查环境中的变量JAVA_HOME,或者检查" java -version"的输出)和相应地采取行动(尽管从您自己的JRE运行Java应用程序会更安全)。