【问题标题】:Running java application from usb从 USB 运行 java 应用程序
【发布时间】:2014-09-23 09:07:27
【问题描述】:

我正在尝试构建一个跨平台(vista、xp、mac、Linux)。 我需要将应用程序放在格式化为 FAT-32 的 USB 驱动器中,它应该可以在任何操作系统计算机上运行。 打算用 Java/JavaFx 来做。

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

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

【问题讨论】:

  • 只需制作一个jar文件。那么对于大多数程序,您可以在任何操作系统中运行该jar文件。
  • Java 是跨平台的!它将文件转换为字节码,任何操作系统上的Java运行时都可以理解!
  • Java已经是跨平台的,只是需要不同平台的JRE。所以你只需要创建一个 jar 它将在任何 jre 平台上执行
  • 我需要开发类似portableApps 的东西,它可以在任何操作系统上运行。我正在寻找像 jPortable 这样的工具,它似乎只适用于 Windows。但我也需要 linux 和 mac。

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


【解决方案1】:

需要考虑的几点:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多