首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蚂蚁javah NullPointerException

蚂蚁javah NullPointerException
EN

Stack Overflow用户
提问于 2016-12-30 01:26:45
回答 1查看 677关注 0票数 1

现在,我只是使用JNI创建一个简单的程序来处理和学习。我认为使用Ant来构建会让它变得容易得多。以下是我的项目结构:

代码语言:javascript
复制
src/pkg/Test.java
bin/pkg/Test.class
c/
build.xml

Test.java:

代码语言:javascript
复制
package pkg;

public class Test {

    public static void main(String[] args) {
        System.out.println(new Test().getInt());
    }

    public native int getInt();

}

build.xml:

代码语言:javascript
复制
<project name="Test" basedir="." default="main">
    <property name="src.dir" value="src"/>
    <property name="bin.dir" value="bin"/>

    <target name="clean">
        <delete dir="${bin.dir}"/>
    </target>

    <target name="compile" depends="clean">
        <mkdir dir="${bin.dir}"/>
        <javac srcdir="${src.dir}" destdir="${bin.dir}" includeantruntime="false"/>
    </target>

    <target name="build-c" depends="compile">
        <javah outputFile="test.h" classpath="${bin.dir}" class="pkg.Test"/>
    </target>

    <target name="main" depends="build-c"/>
</project>

例外:

代码语言:javascript
复制
build-c:
       [javah] Exception in thread "main" java.lang.NullPointerException
       [javah]  at com.sun.tools.javah.JavahTask.run(JavahTask.java:503)
       [javah]  at com.sun.tools.javah.JavahTask.run(JavahTask.java:329)
       [javah]  at com.sun.tools.javah.Main.main(Main.java:46)

我试着在网上查找异常,我看到了两篇关于它的帖子(javah NullPointerException while using ANT in Eclipse Indigo & "Can't load javah" error in Eclipse)。我在这两篇文章中都采纳了这两条建议。我确保默认的JRE是JDK (jdk1.8.0_111),将tools.jar添加到Ant条目中,并将build.xml Run/Debug设置更改为在与工作区相同的JRE中运行。不幸的是,所有这些都没有帮助。任何帮助将非常感谢,如果有任何其他信息,您需要只是让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-30 07:05:06

我发现了问题。尽管我将其改为使用JDK而不是JRE,但出于某种原因,它仍然在使用JRE。将项目的Ant构建器更改为使用单独的JRE并选择JDK修复它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41389451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档