2008-09-21 78 views
2

只是一個簡單的問題:Xcode:'源代碼1.3'編譯器錯誤不支持泛型?

我是一個CS本科生,只有過使用Eclipse和Net Beans IDE的經驗。我最近收購了一部Macbook,並且想要在Xcode中重新編譯一個最近的學校項目,以便對其進行測試。在那裏,我宣佈一個ArrayList的一個新實例行後右:

dictionary = new ArrayList<String>(); 

我得到以下錯誤:泛型不-source 1.3支持。

我只是想知道是否有人可以提供建議,問題可能是什麼。同一個項目在同一臺機器上的Eclipse中編譯。我使用Java 1.5.0_13運行OSX 10.5.4。

謝謝。

回答

8

Xcode中的Java支持已經過時並且沒有維護;它仍然是使用從Project Builder繼承的「舊」構建系統的唯一一部分Xcode。即使蘋果建議使用Eclipse代替。對於Java,Eclipse和NetBeans在Mac上都工作得很好;如果你想嘗試原生Mac編程,使用Xcode很好的Objective-C和Cocoa。

這就是說,問題在於javac的目標是Java 1.3,它沒有泛型。您可以修改Ant構建文件(build.xml)中的javac引用,如下所示:

<target name="compile" depends="init" description="Compile code"> 
    <mkdir dir="${bin}"/> 
    <javac deprecation="on" srcdir="${src}" destdir="${bin}" 
      source="1.3" target="1.2" 

將「源」和「目標」更改爲「1.5」。

+0

感謝您的快速,很完整的答案,我還沒有收到有關的缺乏Xcode的java支持的想法。順便說一下,我曾嘗試將buildfile「source」和「target」更改爲1.5,但這隻會導致更多的編譯器錯誤。 我只會堅持到Eclipse :) – VeePee 2008-09-21 02:26:50

0

泛型是在Java 5中引入的,因此您不能使用泛型與-source 1.3選項。

0

build.xml文件被放置在

/Developer/Library/XCode/Project Templates/Java/Java Tool/build.xml 

(用自己的類型的項目取代Java工具)。

如果您在第30行查找source="XX" target="YY",並將XX和YY更改爲您的首選值,則情況會變得更好,這與前幾篇文章中的解釋相似。

乾杯,

彼得