Xcode:“-source 1.3 不支持泛型”编译器错误?

Posted

技术标签:

【中文标题】Xcode:“-source 1.3 不支持泛型”编译器错误?【英文标题】:Xcode: 'Generics are not supported in -source 1.3' compiler error? 【发布时间】:2010-09-11 17:12:23 【问题描述】:

只是一个简单的问题:

我是一名 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。

谢谢。

【问题讨论】:

【参考方案1】:

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"

将“源”和“目标”更改为“1.5”。

【讨论】:

感谢您快速而完整的回答,我不知道 Xcode 缺乏 java 支持。顺便说一句,我确实尝试将构建文件“源”和“目标”更改为 1.5,但这只会导致更多的编译器错误。我会坚持使用 Eclipse :)【参考方案2】:

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

【讨论】:

【参考方案3】:

build.xml文件放在

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

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

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

干杯,

彼得

【讨论】:

以上是关于Xcode:“-source 1.3 不支持泛型”编译器错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 9 中使用 Xcode 服务器?我们是不是需要始终打开 Xcode 9?

XCode 5 和 XCode 5.1 并排

Xcode 4.6 和 Xcode 5 一起安装

使用 xcode 10 后 Xcode 9 找不到资产

我是不是需要卸载 Xcode 4 才能安装 Xcode 5?

xcode 如何编译