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

标签 java macos ubuntu

抱歉,如果这是题外话。我是一名 Java 初学者,知道 Java 应该是跨平台一致的。但我想知道我的 jar 文件或 *class 文件在 Ubuntu 上执行是否能保证它在 MacOS 上运行良好?

我主要执行以下操作来创建 *class 和 *jar。两个 java 类,MAIN.java 依赖于 SIDE.java 并且两个 java 文件都包含 package classes; header (javac 创建一个名为 classes 的文件夹,并将 MAIN.classSIDE.class 放入其中):

javac -d . SIDE.java MAIN.java
jar cvfe MAIN.jar classes/MAIN classes/*.class

我尝试同时运行:

java classes.MAIN -read number.logs

java -jar MAIN.jar -read number.logs

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

最佳答案

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

这种跨平台的可移植性是由 JVM 保证的。您可以阅读更多相关信息 here .

关于java - 如何确保我的 *jar 或 *class 可以在 MacOS 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282051/

相关文章:

java - 我应该公开组合对象吗?

java - 获取 Maven 编译错误无法执行目标 org.apache.maven.plugins

vba - 使用 Excel 2018 for MacOS 的用户表单

macos - Delphi Berlin 10.1 创建文件/文件夹 OS X

ubuntu - Nginx 不显示 ServerBlocks

git - 在没有密码提示的情况下从 bitbucket 中获取 pull

java - 如何在 Spring Controller 中自动将 JSON 映射到 Java 类

java - 如何将 Google App Engine 与 Webjars 一起使用?

java - Java 中 EmptyStackException 的自定义错误消息?

Java - Mac 和 Windows 之间的文件 getFreeSpace 区别