代码之家  ›  专栏  ›  技术社区  ›  Yuvi Masory

如何在Windows上开发苹果Java扩展?

  •  11
  • Yuvi Masory  · 技术社区  · 15 年前

    当我在Windows上进行多平台测试时,Eclipse会因为我在一个特殊的Mac定制任务中使用的com.apple.eawt代码而在项目中显示错误,这让我很恼火。更糟糕的是,如果我在Windows上导出一个可运行的JAR,它将不会在Mac上运行,因为编译问题尚未解决。

    让Windows Java和COM.Apple EAWT和平共处最好的方法是什么?我不知道如何将代码拆分为JAR,因为它需要访问程序的许多状态。

    5 回复  |  直到 11 年前
        1
  •  13
  •   Yuvi Masory    13 年前

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

        2
  •  6
  •   Tuna Valknut    11 年前

    这看起来像是你想要的: http://developer.apple.com/mac/library/samplecode/AppleJavaExtensions/

    这是一个可插入的存根类jar,代表新的Apple 在Mac OS X上的Java 1.4的EAWT和EIO API。这些存根的目的 允许编译EAWT或EIO引用代码 Mac OS X以外的平台。

        3
  •  0
  •   Community CDub    8 年前

    你也许可以使用 OSXAdapter “动态实现”将只在实际上支持Apple API的平台(例如Java 1.4或更高版本上的Mac OS X)上触发,避免任何兼容性问题。 sample application 以及 adapter 如本文所述,它本身是可用的。 article .

        4
  •  0
  •   Thorbjørn Ravn Andersen    15 年前

    将OSX特定的代码放在单独的类中。

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