0

私はANTビルドスクリプトを次のように使用しています:

<project basedir="..">
<property name="src" location="src"/>
<property name="classes" location="classes" />
<property name="jnifiles" location="jnifiles" />

<target name="init">
    <mkdir dir="${classes}" />
    <mkdir dir="${jnifiles}" />
</target>

<target name="compile" 
    description="compile the source " >
    <javac srcdir="${src}" destdir="${classes}" includeantruntime="false" />
</target>

<target name="generate-jni">
    <javah destdir="${jnifiles}" >
        <class name="com.example.ExecJNI" />
    </javah>
</target>

<target name="clean"
    description="clean up" >
    <delete dir="${classes}"/>
    <delete dir="${jnifiles}"/>
</target>

クリーン、初期化、コンパイルは問題なく行われますが、generate-jni で次のエラーが発生します。

generate-jni:
   [javah] Exception in thread "main" java.lang.NullPointerException
   [javah]  at com.sun.tools.javah.JavahTask.run(JavahTask.java:509)
   [javah]  at com.sun.tools.javah.JavahTask.run(JavahTask.java:335)
   [javah]  at com.sun.tools.javah.Main.main(Main.java:46)

誰が私が間違っているのか手がかりを持っていますか?

4

1 に答える 1

1

インストールされている JRE のデフォルト バージョンを確認しましたか?

私も同じ問題を抱えていたので、インストールされている JRE を Eclipse の設定で確認しました。実際にjdk1.7をインストールしましたが、デフォルトのバージョンはjre7です。デフォルトのバージョンを jdk1.7 に変更したら、問題は解決しました。

この情報がお役に立てば幸いです。

于 2013-04-29T03:25:42.840 に答える