"Object can not be resolved to a type"

"Object can not be resolved to a type"

我正在尝试使用 j2objc 工具将我的一些 Android 项目逻辑文件转换为 objectiveC 代码。

我在实际项目中遇到了很多类型错误,所以我尝试至少转换 helloworld,例如:

public class Test {
    public static void main(String args[]) {
        System.out.println("Hello");
    }

}

这可以使用 javac 完美编译,但是当我尝试 运行 j2objc 时,它 returns 奇怪的错误:

The type java.lang.Object can not be resolved. It is indirectly referenced from required .class files.

这里的问题是什么,最重要的是,我应该怎么做?

编辑:

命令行如下:

j2objc -sourcepath src/main/java src/main/java/org/takino/mtga/impl/datatypes/*java

环境:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home

(这是由/usr/libexec/java_home返回的)

完成 Getting Started 页面上的步骤,这与您已经在做的类似。你不应该有太多麻烦,因为 Linux 和 OS X 在命令行中的使用没有什么不同,因为 bash 是默认的 shell两个。

@chrylis 关于路径有一个很好的观点,因为 j2objc 脚本将关联的 lib/jre_emul.jar 指定为要使用的引导类路径,这是所有 JRE 类 所在的位置(包括对象) .也许您的 j2objc 发行版搞砸了。

尝试再次下载 j2objc 发行版,解压缩但不要移动任何文件。然后使用 /j2objc 命令,它会找到正确的 jre_emul.jar.