Пример QtJambi не выполняется

1

Я пытаюсь скомпилировать и запустить код всплывающей подсказки из этого урока. Я получил QtJambi из моего менеджера пакетов (пакет qtjambi-beta от AUR), который установил его в каталог /opt/qtjambi-beta/. В частности, файл qtjambi-4.7.0.jar находится по адресу /opt/qtjambi-beta/qtjambi-linux64-community-4.7.0/qtjambi-4.7.0.jar.

Теперь я создал папку под названием qtpractice и разместил там пример под названием JambiApp.java. Код, который я вложил в него, был точно следующим образом (следуя примеру, который я связал):

package qtpractice;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QWidget;

public class JambiApp extends QWidget {

     public JambiApp() {
        setWindowTitle("Tooltip");
        setToolTip("This is QWidget");
        resize(250, 150);
        move(300, 300);
        show();
    }


    public static void main(String args[]){
        QApplication.initialize(args);
        new JambiApp();
        QApplication.exec();
    }
}

Я скомпилировал его с javac qtpractice/*.java -cp/opt/qtjambi-beta/qtjambi-linux64-community-4.7.0/qtjambi-4.7.0.jar, который отлично работал. Затем я попытался выполнить его с помощью java qtpractice.JambiApp, и я получил следующую ошибку:

Error: Could not find or load main class qtpractice.JambiApp

EDIT: Исходя из некоторых рекомендаций из комментариев, я попробовал эту команду вместо: java -cp/opt/qtjambi-beta/qtjambi-linux64-community-4.7.0/qtjambi-4.7.0.jar qtpractice.JambiApp. Когда я это сделал, я снова получил следующую ошибку:

Error: Could not find or load main class qtpractice.JambiApp

Что я упустил? Из того, что я могу сказать, я сделал все необходимое, чтобы выполнить его.

  • 0
    Вы должны дать одинаковые -cp арг на java команду тоже. Это обычная практика Java.
  • 0
    @Smar: пробовал - точно такая же ошибка.
Показать ещё 6 комментариев
Теги:
archlinux
qt-jambi

1 ответ

1
Лучший ответ

Вы должны включить все банки Qt Jambi в classpath.

Это можно сделать на CLI с командой, аналогичной

java -cp /opt/qtjambi-beta/qtjambi-linux64-community-4.7.0/qtjambi-4.7.0.jar:/opt/qtjambi-beta/qtjambi-linux64-community-4.7.0/qtjambi-linux64-gcc-4.7.0.jar:. qtpractice.JambiApp

При компиляции родной банке не нужно присутствовать, так как собственные библиотеки предназначены только для классов Jambi для использования Qt.

  • 0
    Пробовал эту точную команду - все равно получаю ту же ошибку ...
  • 0
    Также еще одно примечание - я попытался сделать это в Eclipse, и он работал нормально. Тем не менее, я не хочу использовать IDE (и я все равно не понимаю, как он все это делает), и это меня очень озадачило, поэтому я хотел бы выяснить, что, черт возьми, происходит.
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню