使用guava和j2objc

时间:2014-12-09 21:15:56

标签: java ios guava j2objc

我正在尝试使用guava和j2objc,但我收到了错误:

j2objc TestJava.java 
translating TestJava.java
error: TestJava.java:1: The import com.google.common cannot be resolved
error: TestJava.java:10: Lists cannot be resolved
Translated 0 files: 2 errors, 0 warnings
跑步时

j2objc Test.java

Test.java包含:

import com.google.common.collect.Lists;
import java.util.ArrayList;

public class Test {
    public static void TestMethod() {
        ArrayList<String> objects = Lists.newArrayList();
        objects.add(0, "Hello world");
        System.out.println(objects);            
    }
}

我已经下载了最新版本0.9.5并将其添加到.profile

export PATH=$HOME/bin/j2objc-0.9.5:$PATH

为了使用番石榴,我还需要做些什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

j2objc转换器使用Java编译器作为其前端,因此在转换时需要使用与编译为Java类时相同的类路径和源路径。如果您运行&#34; javac Test.java&#34;,那么您将收到类似的错误,因为guava jar需要包含在类路径中。 j2objc发行版包含lib / guava-jdk5.jar,因此运行&#34; javac -classpath /lib/guava-jdk5.jar Test.java&#34;,并在必要时修复guava jar目录的任何问题。一旦javac可以编译它,替换&#34; j2objc&#34;为&#34; javac&#34;使用相同的参数,它应该转换得很好。

您不必首先使用javac,但只要报告了翻译错误,就可以快速测试该问题是否与缺少的源或类路径相关。

与Java的一个区别是,当您链接应用程序时,需要-lguava标志来包含该库。