【问题标题】:QtJambi example not executingQtJambi 示例未执行
【发布时间】: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

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

【问题讨论】:

  • 您也需要将相同的-cp args 提供给java 命令。这是 Java 的常见做法。
  • @Smar:试过了 - 完全一样的错误。
  • 请将整个命令行和错误添加到您的问题中。
  • 执行命令也需要添加native jar(编译不需要)。
  • @Smar:'native jar' 是什么意思?

标签: java archlinux qt-jambi


【解决方案1】:

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

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

【讨论】:

  • 还有一点需要注意 - 我尝试在 Eclipse 中执行此操作,并且效果很好。但是,我真的不想使用 IDE(而且我也不知道它是如何完成所有这些事情的),这让我非常困惑,所以我想弄清楚到底发生了什么。
  • 好吧,然后给出完整的错误(运行时返回的命令)
  • Error: Could not find or load main class qtpractice.JambiApp
  • 这就是它返回的全部
  • 我和你一样迷茫。
猜你喜欢
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
相关资源
最近更新 更多