如果我将所有 .java 和 .class 文件放在一个地方(即在默认包中),那么一切正常,我会做所有 JNI 的东西,等等。但在这种情况下,我有 package-ception(很多目录),我的类和Java文件是分开的/bin
等等/src
。而且我需要生成头文件,但我一直收到错误。我尝试了很多命令,我看到了不同的教程。我已经别无选择了。所以我的项目在里面c://gvk/SEP3
,然后我要使用的带有本机方法的类和 Java 文件在/bin/CalculatorServer
里面/src/CalculatorServer
我一直javah
从具有本机方法的类文件所在的目录运行命令。到目前为止我尝试过的命令是:
javah -d ./CalculatorServer NativeMethodsCalculator
错误:找不到“NativeMethodsCalculator”的类文件。
javah -d ./CalculatorServer CalculatorServer.NativeMethodsCalculator
错误:找不到“CalculatorServer.NativeMethodsCalculator”的类文件。
javah -d c://gvk/SEP3/bin/CalculatorServer -classpath c://gvk/SEP3/bin/CalculatorServer NativeMethodsCalculator
错误:找不到“NativeMethodsCalculator”的类文件。
javah -classpath c://gvk/SEP3/bin/CalculatorServer -o NativeMethodsCalc.h src.CalculatorServer.NativeMethodsCalculator
错误:找不到“src.CalculatorServer.NativeMethodsCalculator”的类文件。
javah -jni bin.CalculatorServer.NativeMethodsCalculator
错误:找不到“bin.CalculatorServer.NativeMethodsCalculator”的类文件。