我正在尝试编译并运行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
我错过了什么?据我所知,我做了一切必要的事情来实现它。
答案 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。