java - 来自 java.lang.J9VMInternals 的 NullPointerException

标签 java eclipse jvm java-native-interface qt-jambi

我正在尝试运行 this Qt Jambi Hello World example 的稍加修改的版本但我遇到了一个可以追溯到我的第一行代码的 NullPointerException 。唯一可能的方法似乎是 QApplication 为空,但它位于我的构建路径上,并且我的代码可以编译。

一开始我想知道空指针是否是我缺少构造函数,但添加一个仍然会导致错误。现在我想知道是否是因为可能有一些 JNI(Java Native Access)在幕后运行以使 Qt Jambi 工作,或者尽管进行了编译(在 Eclipse 中),IDE 仍然无法正确执行文件 main 方法。

这适用于 Windows 7 上的 Java 1.6

后记: 您难道不知道使用 NetBeans 可以正常工作吗?感谢所有回答或评论的人。

代码:

import com.trolltech.qt.gui.*;

public class EcosDesk {
    public static void main(String args[]) {
        if(args == null) args = new String[0]; //suggested addition
        QApplication.initialize(args);

        QPushButton hello = new QPushButton("Hello World!");
        hello.show();

        QApplication.exec();
    }
}

堆栈跟踪:

Exception in thread "main" java.lang.NullPointerException
at java.lang.J9VMInternals$1.run(J9VMInternals.java:273)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at java.lang.J9VMInternals.cloneThrowable(J9VMInternals.java:248)
at java.lang.J9VMInternals.copyThrowable(J9VMInternals.java:289)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:179)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at com.motion.ecos.EcosDesk.main(EcosDesk.java:7)

ECLIPSE 的 classpath.xml:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="C:/Users/dp078008/Downloads/qtjambi-4.6.3-win32/qtjambi-4.6.3/qtjambi-4.6.3.jar"/>
    <classpathentry kind="lib" path="C:/Users/dp078008/Downloads/qtjambi-4.6.3-win32/qtjambi-4.6.3/qtjambi-win32-msvc2005-4.6.3.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

最佳答案

可能args实际上是null,因为您没有在Eclipse的运行配置中正确设置它

关于java - 来自 java.lang.J9VMInternals 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929559/

相关文章:

java - 如何创建复杂的按钮形状?

eclipse快捷方式随处发布

android - Eclipse 停止编译 RenderScript 文件

java - 不同物理机上 2 个 JVM 之间的 RMI

java - Hibernate 使用普通 POJO

java - 如何将 Spring URL 映射到/WEB-INF/views 中的 JSP 文件?

java - 是否可以在 Eclipse 或任何其他 IDE 中使用 Java SE 8 以上版本?

jvm - JVM 或 CLR 是否使用寄存器来运行 JIT 代码?

java - 空指针检查顺序

java - 谁能告诉我在使用 RSA 的图像加密和解密过程中犯了什么错误