Xcode:'-source 1.3'编译错误不支持泛型?

时间:2008-09-21 01:32:55

标签: java xcode compiler-construction

只是一个简单的问题:

我是CS本科生,并且只有Eclipse和Net Beans IDE的经验。我最近收购了一台Macbook,并且想要在Xcode中重新编译一个最近的学校项目,只是为了测试它。在我声明ArrayList的新实例的行之后:

dictionary = new ArrayList<String>(); 

我收到以下错误:-bource 1.3 不支持泛型。

我只是想知道是否有人可以提出有关问题的建议。同一个项目在Eclipse中在同一台机器上编译。我正在使用Java 1.5.0_13运行OSX 10.5.4。

谢谢。

3 个答案:

答案 0 :(得分:8)

Xcode中的Java支持已过时且无需维护;它是Xcode的唯一一部分仍然使用从Project Builder继承的“旧”构建系统。甚至Apple也建议使用Eclipse。对于Java,Eclipse和NetBeans在Mac上运行良好;如果你想尝试原生的Mac编程,请使用Objective-C和Cocoa,Xcode很好。

也就是说,问题是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"

将“source”和“target”更改为“1.5”。

答案 1 :(得分:0)

泛型在Java 5中引入,因此您不能将泛型与-source 1.3选项一起使用。

答案 2 :(得分:0)

build.xml文件放在

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

(将Java Tool替换为您自己的项目)。

如果您在第30行查找source="XX" target="YY",并将XX和YY更改为您的首选值,事情会变得更好,就像之前的帖子中所解释的那样。

干杯,

彼得