2014-09-30 196 views
1

我試圖編譯並運行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.jarQtJambi示例未執行

現在,我製作了一個名爲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

你也需要給'java'命令同樣的'-cp'參數。這是常見的Java實踐。 – Smar 2014-09-30 08:09:10

+0

@Smar:試過了 - 完全相同的錯誤。 – 2014-09-30 08:12:59

+0

請在您的問題中添加整個命令行和錯誤。 – Smar 2014-09-30 08:14:02

回答

1

你需要在classpath中包含Qt Jambi需要的所有jar。

這可以在命令行來完成類似的命令

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 

編譯時,原生罐子並不需要存在,因爲本機庫是佔碑類能夠使用Qt只爲。

+0

試過那個確切的命令 - 仍然得到相同的錯誤... – 2014-09-30 20:49:40

+0

另外還有一個注意事項 - 我試圖在Eclipse中這樣做,它工作正常。但是,我並不是真的想要使用IDE(我不知道它是如何處理這些事情的),這讓我感到非常困惑,所以我想弄清楚到底發生了什麼。 – 2014-10-01 00:20:21

+0

那麼,給出完整的錯誤(當你運行它時返回的命令) – Smar 2014-10-01 07:28:12