2

コマンドラインから JNI ヘッダー ファイルを生成しようとしています。javah myclass.class と入力すると、エラーは

Exception in thread main java.IllegalArgumentException: not a valid class name
at com.sun.tools.javac.api.JavacTool.getTask<JavacTool.java:177>
at com.sun.tools.javac.api.JavacTool.getTask<JavacTool.java:68>
at com.sun.tools.javah.api.JavachTask.run<JavahTask.java:509>
at com.sun.tools.javah.api.JavachTask.run<JavahTask.java:335>
at com.sun.tools.javah.Main.main<Main.java:46>

しかし、 javah myclass と入力したとき

エラー:「myclass」のクラス ファイルが見つかりませんでした

以前は、クラス ディレクトリに ls と入力すると、クラス ファイルが存在していました。

これは私のスニペットコードです

package com.blablabla

public static native long myclass(long n);

この問題を解決する方法を知っている人はいますか?

ありがとう

4

5 に答える 5

2

完全修飾クラス名を指定してみてください: -

javah com.blablabla.myclass
于 2013-01-18T15:34:29.067 に答える
1

クラス名は小文字で始まります。Java で義務付けられている規則に従って、大文字を使用してみてください。さらに、完全修飾名を指定してみてください (すべてのパッケージを で区切ってリストします.) 。

于 2013-01-18T15:34:47.633 に答える
0

引数の .class 部分を取り除きます。引数は、ファイル名ではなく、完全修飾クラス名です。Javadoc を参照してください。

于 2013-01-18T23:22:56.323 に答える