我正在尝试使用j2objc来翻译一些java代码。当我尝试导入任何类
时,我的代码使用google Guava库import com.google.common.collect.Maps;
我收到一条错误消息,说无法解析。
The import com.google.common cannot be resolved
在j2objc转换器中是否需要做一些特殊的事情才能启用Guava支持?
答案 0 :(得分:3)
Guava的翻译目前不是j2objc发行版的一部分,但有计划包括该库的一个重要子集(包括地图)。今天的项目是下载Guava源,然后翻译他们想要使用的类。
这种方法的一个问题是确定依赖类的关闭;即,Map所依赖的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
计划用于下一版本的确定源文件列表的工具。