【发布时间】:2011-02-21 03:22:07
【问题描述】:
是否可以在任何操作系统(如 Windows、Linux、Mac OS X)上执行 JAR 文件?我想构建一个简单的应用程序,我想在 Linux、Windows 和 Mac OS X 上运行。JAR 文件可以在任何安装了 java 的操作系统上运行吗?
【问题讨论】:
是否可以在任何操作系统(如 Windows、Linux、Mac OS X)上执行 JAR 文件?我想构建一个简单的应用程序,我想在 Linux、Windows 和 Mac OS X 上运行。JAR 文件可以在任何安装了 java 的操作系统上运行吗?
【问题讨论】:
Jar 文件可在任何存在 JVM 的操作系统上运行。
【讨论】:
是的,只要您不使用任何本机库 (JNI),这就是 java 的工作方式。它独立于平台。
【讨论】:
JNA has been built and tested on OSX (ppc, x86, x86_64), linux (x86, amd64), FreeBSD/OpenBSD (x86, amd64), Solaris (x86, amd64, sparc, sparcv9) and Windows (x86, amd64). It has also been built for windows/mobile and Linux/ppc64, although those platforms are not included in the distribution.
正如其他人所说,只要您安装了 Java 并避免使用本机代码,您应该可以继续使用。需要注意的一点是,您通常只需双击 JAR 文件即可运行它,它会像本机可执行文件一样打开(在 Windows 上这是默认工作方式,在其他操作系统上您可以配置此行为)。
此类 JAR 文件称为可执行 JAR 文件。如果您要创建的是一个可执行的 JAR 文件,那么您需要添加一个清单文件,该文件告诉 Java 虚拟机 (JVM) 主类的名称。可执行的 JAR 文件也可以通过以下方式在命令行上运行:
java -jar myprogram.jar
如果您的 JAR 不是可执行 JAR,那么要运行您的程序,您必须将 JAR 添加到类路径中,然后执行主类。将 JAR 添加到类路径:
java -classpath path/to/your/program.jar com.mypackage.Main
【讨论】:
C:\Program Files (x86)\JavaRE\bin\java -jar xxx.jar
Jar 文件旨在在安装了兼容版本的 JVM 的任何操作系统上运行。然而,一些 jar 文件可能是从使用特定操作系统代码的 Java 代码编译而来的(比如与 Windows 注册表对话),因此在其他操作系统上对其进行测试是明智的。
【讨论】:
是的,只要它没有从终端或命令提示符(如java -jar name.jar)破坏它就可以正常工作。
【讨论】: