QtJambi示例没有执行

时间:2014-09-30 07:18:56

标签: java archlinux qt-jambi

我正在尝试编译并运行this tutorial的工具提示代码。我从我的包管理器(包来自AUR的qtjambi-beta)获得了QtJambi,并将其安装到目录/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

编辑:根据评论中的一些建议,我尝试了这个命令: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

我错过了什么?据我所知,我做了一切必要的事情来实现它。

1 个答案:

答案 0 :(得分:1)

您需要在类路径中包含Qt Jambi所需的所有jar。

这可以在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

编译时,不需要存在本机jar,因为本机库只适用于Jambi类才能使用Qt。