![](/img/trans.png)
[英]Problems running Java Remote Debugger JDWP on iMac running Mac OS X Snow Leopard 10.6.7
[英]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.