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?