2011-07-27 22 views
1

クラスBのjniヘッダを取得しようとしていますが、クラスAは同じパッケージ内にあります。クラスBで動作しているクラス(A)をJavahが認識しない

クラスBは

(私はJNIヘッダを必要としているため)ネイティブ関数が含まれていると私は、コマンドに

javah -jni ClassB -classpath (path to jarfile containing all the classes necessary, including classA) 

を使用して、私は応答

は「クラスWXYZが見つかりませんでした取得ClassA "

ここでwxyzはclassAとclassBの正しいパッケージパスです。

提案がありますか?

答えて

1

最初にオプションを入れ、最後にClassB引数を入れてみてください。

また、クラスパスはパッケージ階層ではなく、パッケージ階層のルートを指している必要があります。次に、このように呼びます:

javah -jni -classpath library.jar w.x.y.z.ClassB 
+0

ビンゴ。私は 'w'を含むフォルダに移動し、そこでjarファイルを移動し、次にjavah w.x.y.z.ClassBがうまくいった。ありがとう! – sparkFinder

+0

jarファイルの相対パスを使用することもできます。 –

関連する問題