2013-02-24 2 views
0

Я использую ANT buildscript так:javah NullPointerException при использовании ANT в Eclipse, Indigo

<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> 

Он проходит через чистый, INIT и компилировать просто отлично, но при генерации-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) 

Кто-нибудь знает, что я делаю неправильно?

ответ

1

Вы проверили версию установленных JRE по умолчанию?

У меня была такая же проблема, и я проверил установленные JRE в настройках Eclipse. Версия по умолчанию - jre7, хотя я действительно установил jdk1.7. После изменения версии по умолчанию на jdk1.7 проблема решена.

Надеюсь, эта информация вам поможет.