“J2OBJC_HOME\不\正确\定义\在\Settings.xcconfig
"J2OBJC_HOME\ not\ correctly\ defined\ in\ Settings.xcconfig
伙计们最后 2 到 3 天,我正在尝试 运行 一个用于 J2OBJC
转换的示例项目。首先,我遇到了找不到 j2objc
命令的问题,通过将路径添加到 /etc/paths 文件来解决此问题。现在我遇到了 J2OBJC_HOME
path not defined correctly.
这样的问题
`/bin/sh -c if\ [\ !\ -f\ \"${J2OBJC_HOME}/j2objc\"\ ];\ then\ echo\ \"J2OBJC_HOME\ not\ correctly\ defined\ in\ Settings.xcconfig,\ currently\ set\ to\ \'${J2OBJC_HOME}\'\" ;\退出\1;\fi;\
\"${J2OBJC_HOME}/j2objc\"\ -d\ ${DERIVED_FILES_DIR}\ -sourcepath\ \"${PROJECT_DIR}/类\"\ - -no-package-directories\ -use-arc\ --prefix\ Othello.Engine=JOE\ -g\ ${INPUT_FILE_PATH};
警告:发生了非法的反射访问操作
警告:com.google.devtools.j2objc.javac.JavacEnvironment(文件:/Users/*****/Documents/j2objc-2.0.5/lib/j2objc.jar)对字段 [=37= 的非法反射访问]
警告:请考虑将此报告给 com.google.devtools.j2objc.javac.JavacEnvironment 的维护者
警告:使用 --illegal-access=warn 启用进一步非法反射访问操作的警告
警告:所有非法访问操作将在未来的版本中被拒绝
错误:翻译“/Users/*****/Downloads/j2objc-sample-reversi-master/Classes/Othello/Engine/Score.java”时出现内部错误
java.lang.NoSuchFieldError: 运算符
在 com.google.devtools.j2objc.javac.TreeConverter.convertBinary(TreeConverter.java:513)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:346)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convertArrayAccess(TreeConverter.java:476)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:230)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convert 分配(TreeConverter.java:497)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:236)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convertExpressionStatement(TreeConverter.java:691)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:263)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convert 块 (TreeConverter.java:543)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:238)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convertMethodDeclaration(TreeConverter.java:888)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:283)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convertAbstractTypeDeclaration(TreeConverter.java:390)
在 com.google.devtools.j2objc.javac.TreeConverter.convertClassDeclaration(TreeConverter.java:603)
在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:246)
在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202)
在 com.google.devtools.j2objc.javac.TreeConverter.convertCompilationUnit(TreeConverter.java:173)
在 com.google.devtools.j2objc.javac.JavacParser.parseFiles(JavacParser.java:173)
在 com.google.devtools.j2objc.pipeline.FileProcessor.processBatch(FileProcessor.java:141)
在 com.google.devtools.j2objc.pipeline.FileProcessor.processInputs(FileProcessor.java:70)
在 com.google.devtools.j2objc.pipeline.TranslationProcessor.processInputs(TranslationProcessor.java:78)
在 com.google.devtools.j2objc.J2ObjC.run(J2ObjC.java:127)
在 com.google.devtools.j2objc.J2ObjC.main(J2ObjC.java:177)
线程异常 "main" java.lang.NullPointerException
在 com.google.devtools.j2objc.javac.JavacParser.parseFiles(JavacParser.java:175)
在 com.google.devtools.j2objc.pipeline.FileProcessor.processBatch(FileProcessor.java:141)
在 com.google.devtools.j2objc.pipeline.FileProcessor.processInputs(FileProcessor.java:70)
在 com.google.devtools.j2objc.pipeline.TranslationProcessor.processInputs(TranslationProcessor.java:78)
在 com.google.devtools.j2objc.J2ObjC.run(J2ObjC.java:127)
在 com.google.devtools.j2objc.J2ObjC.main(J2ObjC.java:177)`
伙计们,请帮我解决上面的问题,任何人都已经遇到过这样的问题。
提前致谢。
与大多数“*_HOME”设置一样,您需要指定它(例如 JAVA_HOME、KOTLIN_HOME、GROOVY_HOME 等)。编辑 Settings.xconfig 并将 J2OBJC_HOME 设置为您添加到 /etc/paths.
的同一路径
下一个问题是 j2objc 没有 运行 和 Java 9 JDK(即将推出)。好消息是你的 Mac 上可以安装多个 JDK,j2objc 脚本会选择最新的 Java 8 JDK 安装,不管 Java 9 JDK 是默认值。转到 Oracle's Java SE Downloads page,获取最新的 Java 8 JDK 并安装它。
伙计们最后 2 到 3 天,我正在尝试 运行 一个用于 J2OBJC
转换的示例项目。首先,我遇到了找不到 j2objc
命令的问题,通过将路径添加到 /etc/paths 文件来解决此问题。现在我遇到了 J2OBJC_HOME
path not defined correctly.
`/bin/sh -c if\ [\ !\ -f\ \"${J2OBJC_HOME}/j2objc\"\ ];\ then\ echo\ \"J2OBJC_HOME\ not\ correctly\ defined\ in\ Settings.xcconfig,\ currently\ set\ to\ \'${J2OBJC_HOME}\'\" ;\退出\1;\fi;\ \"${J2OBJC_HOME}/j2objc\"\ -d\ ${DERIVED_FILES_DIR}\ -sourcepath\ \"${PROJECT_DIR}/类\"\ - -no-package-directories\ -use-arc\ --prefix\ Othello.Engine=JOE\ -g\ ${INPUT_FILE_PATH};
警告:发生了非法的反射访问操作 警告:com.google.devtools.j2objc.javac.JavacEnvironment(文件:/Users/*****/Documents/j2objc-2.0.5/lib/j2objc.jar)对字段 [=37= 的非法反射访问] 警告:请考虑将此报告给 com.google.devtools.j2objc.javac.JavacEnvironment 的维护者 警告:使用 --illegal-access=warn 启用进一步非法反射访问操作的警告 警告:所有非法访问操作将在未来的版本中被拒绝 错误:翻译“/Users/*****/Downloads/j2objc-sample-reversi-master/Classes/Othello/Engine/Score.java”时出现内部错误 java.lang.NoSuchFieldError: 运算符 在 com.google.devtools.j2objc.javac.TreeConverter.convertBinary(TreeConverter.java:513) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:346) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convertArrayAccess(TreeConverter.java:476) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:230) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convert 分配(TreeConverter.java:497) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:236) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convertExpressionStatement(TreeConverter.java:691) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:263) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convert 块 (TreeConverter.java:543) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:238) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convertMethodDeclaration(TreeConverter.java:888) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:283) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convertAbstractTypeDeclaration(TreeConverter.java:390) 在 com.google.devtools.j2objc.javac.TreeConverter.convertClassDeclaration(TreeConverter.java:603) 在 com.google.devtools.j2objc.javac.TreeConverter.convertInner(TreeConverter.java:246) 在 com.google.devtools.j2objc.javac.TreeConverter.convert(TreeConverter.java:202) 在 com.google.devtools.j2objc.javac.TreeConverter.convertCompilationUnit(TreeConverter.java:173) 在 com.google.devtools.j2objc.javac.JavacParser.parseFiles(JavacParser.java:173) 在 com.google.devtools.j2objc.pipeline.FileProcessor.processBatch(FileProcessor.java:141) 在 com.google.devtools.j2objc.pipeline.FileProcessor.processInputs(FileProcessor.java:70) 在 com.google.devtools.j2objc.pipeline.TranslationProcessor.processInputs(TranslationProcessor.java:78) 在 com.google.devtools.j2objc.J2ObjC.run(J2ObjC.java:127) 在 com.google.devtools.j2objc.J2ObjC.main(J2ObjC.java:177)
线程异常 "main" java.lang.NullPointerException 在 com.google.devtools.j2objc.javac.JavacParser.parseFiles(JavacParser.java:175) 在 com.google.devtools.j2objc.pipeline.FileProcessor.processBatch(FileProcessor.java:141) 在 com.google.devtools.j2objc.pipeline.FileProcessor.processInputs(FileProcessor.java:70) 在 com.google.devtools.j2objc.pipeline.TranslationProcessor.processInputs(TranslationProcessor.java:78) 在 com.google.devtools.j2objc.J2ObjC.run(J2ObjC.java:127) 在 com.google.devtools.j2objc.J2ObjC.main(J2ObjC.java:177)`
伙计们,请帮我解决上面的问题,任何人都已经遇到过这样的问题。
提前致谢。
与大多数“*_HOME”设置一样,您需要指定它(例如 JAVA_HOME、KOTLIN_HOME、GROOVY_HOME 等)。编辑 Settings.xconfig 并将 J2OBJC_HOME 设置为您添加到 /etc/paths.
的同一路径下一个问题是 j2objc 没有 运行 和 Java 9 JDK(即将推出)。好消息是你的 Mac 上可以安装多个 JDK,j2objc 脚本会选择最新的 Java 8 JDK 安装,不管 Java 9 JDK 是默认值。转到 Oracle's Java SE Downloads page,获取最新的 Java 8 JDK 并安装它。