2008-09-21 67 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更改为您的首选值,则情况会变得更好,这与前几篇文章中的解释相似。

干杯,

彼得