2013-01-17 37 views
3

我正在開發基於Java 1.6的跨平臺(Mac OS X,Win和Linux)應用程序。爲了在Mac OS平臺上實現更好的集成,我必須使用Mac OS X特定的類,這些類既不能在其他平臺的JDK或JRE上使用,也不能與應用程序一起分發。跨平臺應用程序中的Apple Java 1.6特定類

我的問題是什麼是最好戰略,以保持代碼編譯在Mac OS X和Windows平臺上而不保持兩個不同的版本?

回答

3

有ClassLoaders的玩法。這是插件的開發很相似,至少有通常用於:

將構建主,跨平臺的應用程序 你將宣佈 您將創建一個「插件加載」將加載可用插件的接口。在macosx mac上,在windows的窗戶上。

開發和建設3個插件:MAC,LINUX,窗戶

-autolink它在與類加載器運行。

1

我想你將無法編譯代碼使用這些類,除非你限制都採用反射。這可能會導致更多的問題,而不是它的價值。

您可以將Apple特定部分提取到單獨的工件/項目中,並僅在Mac上進行編譯。並通過主項目中的預定義(共享)接口。通過這種方式,您可以簡單地嘗試通過反射來加載Apple特定的代碼,如果這不起作用,請使用虛擬實現。