我想使用Cocoa + Objective C創建本機Mac OS X應用程序,但我需要連接到專有數據源,爲此,數據源的所有者僅提供Java庫。所以我需要以某種方式將這個Java庫導入到我的項目中,並在其Java類上調用函數(或者在這個庫中創建java包裝,然後從objective-C調用我的包裝器)。從Mac上的Objective C調用Java庫
現在,我該如何做到這一點?快速谷歌搜索引導我到JNI,但我還沒有找到任何好的和實際的(當前)文章/教程。我真的需要一些HOW TO文章,如何加載這個Java庫,如果需要啓動VM,以及如何創建Java對象和調用函數。真的很簡單,我可以從那裏移動。謝謝。
爲了澄清,我再說一遍:我想從Objective-C調用Java函數,我不想從Java調用本地函數。
+1使用獨立的進程存在。你可能有一個更容易的時間來編寫Java中的服務,與您的數據源,並與您的溝通目標-C app。 – 2009-11-30 21:47:17
嗨Jeffrey, 是的,我看到了Invocation API,我會仔細看看。這個java應用程序和我的可可應用程序通過套接字進行通信的想法非常好,但我更願意啓動這個java當我的可可應用程序開始時,我的可可應用程序一直不能運行,你知道這樣的事情是否可行嗎?(我曾經是.net開發人員6年,現在只做了4個月的mac工作,所以對不起,如果我的問題是愚蠢的) – Michal 2009-11-30 21:51:19
沒有理由你的Objective-C應用程序無法在必要時作爲應用程序啓動Java應用程序(如startin g任何其他二進制文件)。然後您可以使用套接字與它進行通信。你甚至可以實現一個「End」命令,讓它在你完成後自行終止,這樣它就只在你需要的時候運行。在連接到它之前,你將不得不延遲幾秒鐘,java啓動應用程序的速度很慢。 – 2009-11-30 22:22:03