2010-05-03 54 views
3

我正嘗試通過命令行在Snow Leopard上使用javac進行編譯。我安裝了Xcode。我只是使用一個簡單的Hello World文件,它在Eclipse中工作,但我無法使用javac使它工作。
的javac -version返回的javac 1.6.0_17無法讓Javac在Mac OS X上工作

HelloWorld.java

public class HelloWorld 
{ 
    public static void main(String[] args) 
    { 
String message = "Welcome to Java!"; 
     System.out.println(message); 
    } 
} 

I型:javac的HelloWorld.java

,並得到下面的錯誤。

HelloWorld.java:1: class, interface, or enum expected 
public class HelloWorld 
^ 
1 error 

和...

的javac -cp。 HelloWorld.java

返回相同。

echo $ CLASSPATH只是返回空白。

感謝您的幫助。

回答

8

您是否正在使用UTF-8,或者在文件開頭使用byte order mark?也許這是令人困惑的javac?

使用十六進制編輯器查看文件以查看它的外觀。

+0

它是UTF-8,我應該怎樣改變它? – user331570 2010-05-03 16:21:30

+0

好的,我將它改爲Wester(Mac OS Roman),它工作正常!謝謝,但如果我想使用UTF-8呢?我會怎麼做? – user331570 2010-05-03 16:24:17

+4

你可以把它放在UTF-8上,然後運行'javac -encoding UTF-8 ...'否則,它使用平臺默認值。 – 2010-05-03 16:26:05

2

在Mac OS X 10.5.8上,默認file.encodingMacRoman。 Eclipse將其用作其默認值,但該默認值可能會在Eclipse > Preferences > General > Workspace > Text file encoding以及每個項目的屬性中進行更改。在NetBeans中,每個項目的屬性都有類似的設置。 EclipseWorkspace http://i41.tinypic.com/eqpnjo.png

+0

非常感謝。是否有可能更改Mac OS X的默認編碼或會導致問題? – user331570 2010-05-04 06:41:13

+0

@ elguapo-85:我從來沒有嘗試過。我在Eclipse中使用MacRoman,在BetBeans中使用UTF-8。終端設置爲UTF-8,並且在重要時指定'-encoding',正如@chris_l&@Jon Skeet在評論中所建議的那樣。 – trashgod 2010-05-04 15:08:22