我正在尝试使用 j2objc 来翻译一些 java 代码。当我尝试导入任何类时,我的代码使用了 google Guava 库
import com.google.common.collect.Maps;
我收到一条错误消息,说它无法解决。
The import com.google.common cannot be resolved
是否需要做一些特殊的事情才能在 j2objc 转换器中启用 Guava 支持?
最佳答案
Guava 的翻译目前不是 j2objc 发行版的一部分,尽管有计划包括该库的一个大子集(包括 Maps)。今天项目所做的是下载 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
确定源文件列表的工具计划用于下一个版本。
关于java - j2objc 是否支持 Guava ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373725/