如何在Windows上开发Apple Java Extensions?

时间:2010-01-27 23:34:09

标签: java eclipse macos

当我在Windows上进行多平台测试时,由于我在特殊的Mac自定义任务中使用了com.apple.eawt代码,因此Eclipse在项目中显示错误会让人烦恼。更糟糕的是,如果我在Windows上导出一个可运行的jar,由于未解决的编译问题,它将无法在mac上运行。

让Windows Java和com.apple.eawt和平相处的最好方法是什么?我无法看到我如何能够将代码分离到jar,因为它需要访问程序的大部分状态。

5 个答案:

答案 0 :(得分:13)

我创建了一个更新的jar来解决这个问题。 GitHub来源here。 它托管在maven central

答案 1 :(得分:6)

看起来它可能就是你所追求的:http://developer.apple.com/mac/library/samplecode/AppleJavaExtensions/

  

这是一个可插入的存储类jar,代表新的Apple   适用于Mac OS X上的Java 1.4的eAWT和eIO API。这些存根的目的   是允许编译eAWT或eIO参考代码   Mac OS X以外的平台。

答案 2 :(得分:0)

您可以使用OSXAdapter中采用的方法,“动态实现[其中]仅在实际支持Apple API的平台上触发(例如Mac OS X上的Java 1.4或更高版本) ,避免任何兼容性问题。“如sample application中所述,adapterarticle本身可用。

答案 3 :(得分:0)

将OS X特定代码放在一个单独的类中。

在主代码中,使用反射来查看是否存在其中一个Apple类(或Class.forName),如果存在,则调用上面的单独类。我不记得你是否可以通过调用它来安全地做到这一点,或者你也需要通过反射来调用单独的类。

答案 4 :(得分:0)