如何确保我的 *jar 或 *class 可以在 MacOS 上运行?

use*_*557 1 java macos ubuntu

抱歉,如果这是题外话。我是一个 java 初学者,知道 java 应该是跨平台一致的。但我想知道我的 jar 文件或 *class 文件在 Ubuntu 上执行的事实是否保证它可以在 MacOS 上正常运行?

我基本上执行以下操作来创建 *class 和 *jar。两个Java类,MAIN.java取决于SIDE.java两者的java文件包括package classes;头部(javac创建一个文件夹名为classes期权和看跌期权MAIN.class,并SIDE.class在那里):

javac -d . SIDE.java MAIN.java
jar cvfe MAIN.jar classes/MAIN classes/*.class
Run Code Online (Sandbox Code Playgroud)

我尝试同时运行:

java classes.MAIN -read number.logs
Run Code Online (Sandbox Code Playgroud)

java -jar MAIN.jar -read number.logs
Run Code Online (Sandbox Code Playgroud)

并且它们都在 Ubuntu 上运行良好。这是否足够好并且可以在 MacOS 上运行?(我没有 MacOS,在这种情况下是否有模拟器可以用来检查事情?)

Ris*_*wal 5

是的,这已经足够了,除非您使用一些环境变量,即平台特定的功能,例如 System.getProperty("os.name").

JVM 确保了这种跨平台可移植性。您可以在此处阅读更多相关信息。