簡體   English   中英

在Mac上運行Java的問題

[英]Problems in running java on mac

我正在使用Macbook Pro,Maverics OS,64位計算機。
實際上,在計算機上運行Java程序時,我遇到了一個非常癢的問題。

例如,這是我的代碼:

package com.gui.helloworld;



import javax.swing.JOptionPane;



/**
 * <p>Hello World popup</p>
 * This class simply pops up a "Hello, World!"
 * message graphically.
 *
 * @author Aditya R.Singh
 * @version 1.0
 * @since 2014-06-22
 */
public class GUIHelloWorld {

    /**
     * This is the method that will popup the 
     * "Hello, World!" message.
     * @param args Unused
     */
    public static void main(String[] args) {

        JOptionPane.showMessageDialog(null, "Hello, World!");
    }
}

當我這樣編譯代碼時,

javac com/gui/helloworld/GUIHelloWorld.java  

生成一個GUIHelloWorld.class。
到這個地方,很好。

但是這里出現了問題

當我嘗試運行這樣的代碼時:

java com.gui.helloworld.GUIHelloWorld    

它給我一個錯誤

Error: Could not find or load main class com.gui.helloworld.GUIHelloWorld 

所以我必須像這樣編譯程序:

java -classpath . com.gui.helloworld.GUIHelloWorld  

現在,出現輸出。
很好,但是,為什么仍然需要在.class文件中放入“ classpath”
同一目錄?
我不喜歡這種風格。
兩個月前我以前使用Windows 7計算機時,這不是問題。
有什么幫助嗎? 還是對Mac OS而言是必要的?
請幫忙。

提前致謝 ;)

不帶classpath選項的javac或java將工作目錄作為默認類路徑。

對類的引用必須包含程序包名稱。 因此,如果您編譯執行

javac One.java
java One

class One應該在默認包中(沒有package語句)。 如果編譯

javac a/b/Two.java

class 2應該放在包ab中。然后,可以使用以下命令執行.class文件a / b / Two.class

java a.b.Two

通過設置環境變量CLASSPATH可以實現其他“效果”,該變量可以被-cp選項覆蓋。 (這可能是您的情況發生的情況-通過運行echo $CLASSPATH檢查。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM