JNIで使用するための単純なクラスがあり、ヘッダーファイル(.h)にエクスポートする必要があります。
プロジェクトのフォルダーにjavah
移動して、コマンドを使用する必要があることを読み、次のように入力します。src
javah -jni com.main_package.NativeClass
Windowsでは正常に動作しますが、私のメインOS(Linux)では動作しません。クラスが見つからないと言い続けます。コマンドの多くの組み合わせを使用して、考えられる多くのパスで実行しようとしましたが、機能しませんでした。私は多くのチュートリアルとWebサイト(ここを含む)に従い、それらの組み合わせも試しました。
ここに示すように、これにはEclipseの外部ツールを使用してみましたが、同じエラーも表示されています。
私が得るエラーは次のようになります:
error: cannot access com.main_package.NativeClass
class file for com.main_package.NativeClass not found
javadoc: error - Class com.main_package.NativeClass not found.
Error: No classes were specified on the command line. Try -help.
誰か助けてくれませんか?私はLinuxでの作業が本当に好きで、このツールを使用する必要があるたびにOSを切り替えたくありません。
正解は次のとおりです。
コンソールの場合は、「bin / classes」フォルダーに移動し、使用したコマンドを実行します。
javah -jni com.main_package.NativeClass
${project_loc}/bin/
Eclipseの場合は、私が提供したリンクを使用しますが、使用する代わりに${project_loc}/bin/classes/
、パッケージエクスプローラーで、NativeClass.javaに移動し、外部ツールを実行します。出力は、Javaファイルと同じパスになります。