繁体   English   中英

Java,Mac OS,Windows和Linux

[英]Java, Mac OS, Windows and Linux

我已经从Linux(Ubuntu)迁移到Mac OS。 我已经用Java(秋千)编写了一个应用程序。 我已经在Windows和Linux中成功运行了相同的代码,但是在Mac OS中,我遇到了一些问题。

这是代码和注释中的问题:

public MainForm() {
    setResizable(false);
    setAutoRequestFocus(false); // This method is undefined for type MainForm
    initComponents();
}

另一个:

Object[] industries = jList1.getSelectedValuesList().toArray(); //  This method is undefined...

最后一个:

setType(Type.UTILITY); // Type can't be resolved as variable

当然我不能编译它。

Java版本:Ubuntu:

java版本“ 1.7.0_07” Java™SE运行时环境(内部版本1.7.0_07-b10)Java HotSpot™服务器虚拟机(内部版本23.3-b01,混合模式)

苹果系统:

Java版本“ 1.6.0_35” Java SE运行时环境(内部版本1.6.0_35-b10-428-11M3811)Java HotSpot(TM)64位服务器VM(内部版本20.10-b01-428,混合模式)

我无法更新Java(因为它似乎是Mac的最新版本)。 我现在想在Mac上开发此应用程序。

在对可能给您带来问题的方法进行了一些挖掘之后,很明显,您并不是在每个平台上都运行相同的JDK。 具体来说,您的Windows和Linux机器正在运行JDK 1.7,而Mac OS X机器正在运行JDK 1.6或更早版本。 有关在Mac上使用JDK 1.7的问题 ,请参见。

事实仍然是,您不需要在每个平台上编译应用程序。 Java是一种“一次编译,随处运行”的语言。 只要您自己没有在代码中引入任何系统依赖关系,编译器生成的字节码就可以在每个平台上运行,无论哪个平台对其进行编译。

换句话说,只要您的代码与平台无关,Java本身就与平台无关。 您的问题只是JDK版本错误,因此将Mac的JDK版本升级到1.7将解决此问题。

请注意,您无法在Java 6或更低版本中运行使用1.7源目标编译的二进制文件。 您可以在编译时将源目标更改为1.6,但这将使您无法使用Java 7 API(例如getSelectedValuesList方法)。

Linux上创建executable jar ,然后在Mac上执行它。 它应该运作良好。
如果要在其他操作系统上开发应用程序,请检查JDK是否具有相同版本。
完整版本应等于。 1.6_ 31也应该等于

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM