我在Ubuntu中编写了一些Java代码,但现在我需要程序在Mac中运行(它不应该是现成的产品,我只是希望能够编译源代码)。我只是想知道,在 Mac 中编译时,代码是否会有很多需要更改的地方?
只要您安装了正确版本的 JRE,您的程序就应该运行,前提是您在运行该程序的计算机上没有硬编码依赖项(即硬编码文件路径等)。
Java 的中心思想之一是 一次编写,随处运行 - 换句话说,你只需编写和编译代码一次,然后它就可以在任何安装了 JVM 的平台上运行(具有正确的版本) )。因此,您根本不需要为 Mac 或任何其他操作系统重新编译代码。
Java 编译为 字节码,而不是本机机器代码。 Java 虚拟机解释并执行该字节码,并使用即时编译器将其转换为本机机器代码,以使其快速运行。
您的程序使用 Swing 并不重要 - 这本身并不意味着它不能在 Mac 上运行。
它不起作用的唯一原因是,如果您在代码中使用了硬编码操作系统特定的内容,例如硬编码 Windows 路径,如
C:\Program Files
等 - 这些内容当然在 Mac OS X 上不存在或 Windows 以外的其他操作系统。
不要编译任何东西!只需将罐子寄给他们即可。本地 JVM 将完成剩下的工作。这就是java的工作原理。
免责声明:如果您需要第 3 方库 jar,您可能还需要运送它们或创建一个包含您需要的第 3 方 jar 的 war 文件(或类似的打包)。
编译后字节码是一样的;但如果您使用了 Mac 上不可用的类,您将需要做更多工作。