我正在尝试使用“extern”从 Haxe 调用外部 Java 函数。
哈希代码:
extern class Ext
{
public static function test():String;
}
class Sample
{
public static function main()
{
trace(Ext.test());
}
}
Java 代码:
public class Ext
{
public static String test()
{
return "Hello";
}
}
Sample.hx 和 Ext.java 文件都在同一个文件夹中。
当我尝试执行 haxe -main Sample -java Sample 时,出现以下错误。
C:\Users\ila5\Desktop\CPP>haxe -main Sample -java Sample
haxelib run hxjava hxjava_build.txt --haxe-version 3201 --feature-level 1
javac.exe "-sourcepath" "src" "-d" "obj" "-g:none" "@cmd"
src\haxe\root\Sample.java:33: error: cannot find symbol
haxe.Log.trace.__hx_invoke2_o(0.0, haxe.root.Ext.test(), 0.0, new haxe.lang.DynamicObject(new java.lang.String[]{"className", "fileName", "methodName"}, new java.lang.Object[]{"Sample", "Sample.hx", "main"}, new java.lang.String[]{"lineNumber"}, new double[]{((double) (((double) (10) )) )}));
^
symbol: class Ext
location: package haxe.root
1 error
Compilation error
Native compilation failed
Error: Build failed
我想了解构建失败的原因。有任何想法吗?
最佳答案
我不确定您是否需要使用 -lib
来引用您的 Java 代码还是别的?
但通常对于 Java 目标,仅使用 jar 文件要简单得多。通过输入 haxe --help
您会看到列出的相关命令,我从来不需要为 Java 目标手写外部函数。
-java-lib <file>
: 添加外部JAR或类目录库
关于java - 在 Haxe 中与 Java 函数交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602961/