Я пытаюсь запустить немного измененную версию этого примера Qt Jambi Hello World, но сталкиваюсь с NullPointerException можно проследить до моей самой первой строки кода. Казалось бы, это возможно только в том случае, если QApplication имеет значение null, но оно находится на моем пути сборки, и мой код компилируется.
Сначала я задавался вопросом, был ли нулевой указатель отсутствием конструктора, но его добавление все равно приводит к ошибке. Теперь мне интересно, связано ли это с тем, что, вероятно, за кулисами происходит какой-то JNI (Java Native Access), чтобы заставить Qt Jambi работать, или если, несмотря на компиляцию (в Eclipse), среда IDE по-прежнему не выполняет основной метод файла правильно.
Это для Java 1.6 в Windows 7
ПОСТСКРИПТ: Разве вы не знаете, что 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>