2012-11-14 43 views
3

我正在嘗試使用j2objc來轉換一些java代碼。我的代碼使用谷歌番石榴庫,當我嘗試導入任何類j2objc是否支持番石榴?

import com.google.common.collect.Maps; 

我收到一條錯誤消息,說它無法解析。

The import com.google.common cannot be resolved 

在j2objc轉換器中是否有什麼特殊的需要完成Guava支持?

回答

3

Guava的翻譯目前不是j2objc發行版的一部分,儘管計劃包括該圖書館的一大部分(包括Maps)。今天做什麼項目是下載番石榴的來源,然後翻譯他們想要使用的課程。

這種方法的一個問題是確定依賴類的關閉;即,Google Maps依賴哪些Guava類,以及這些類的依賴性等等。我們讓javac確定:

$ javac -d /tmp/guava -sourcepath <guava-source-paths> com.google.common.collect.Maps 
$ cd /tmp/guava 

$ find com -name '*.class' > /tmp/all-classes.list # list all classes 
$ fgrep -v '$' < /tmp/all-classes.list > /tmp/classes.list # get rid of inner classes 
$ sed -s '/class$/java/' </tmp/classes.list> /tmp/source-files 

確定源文件列表的工具計劃在下一個發行版中使用。