【发布时间】:2014-09-30 07:18:55
【问题描述】:
我正在尝试从this tutorial 编译和运行工具提示代码。我从我的包管理器中获得了 QtJambi(包是来自 AUR 的 qtjambi-beta),它把它安装到了目录 /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
编辑:根据 cmets 的一些建议,我尝试了这个命令: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
我错过了什么?据我所知,我做了一切必要的事情来让它执行。
【问题讨论】:
-
您也需要将相同的
-cpargs 提供给java命令。这是 Java 的常见做法。 -
@Smar:试过了 - 完全一样的错误。
-
请将整个命令行和错误添加到您的问题中。
-
执行命令也需要添加native jar(编译不需要)。
-
@Smar:'native jar' 是什么意思?