ant - javac错误使用-source 5或更高版本来启用泛型

当尝试通过ant构建vuze时,出现了奇怪的错误:

[javac] /home/jalil/src/azureus-4.3.0.6/com/aelitis/azureus/core/impl/AzureusCoreImpl.java:1087: for-each loops are not supported in -source 1.4
[javac] (use -source 5 or higher to enable for-each loops)
[javac]         for (Object l : runningListeners) {
[javac]                       ^
[javac] /home/jalil/src/azureus-4.3.0.6/com/aelitis/azureus/core/instancemanager/impl/AZInstanceImpl.java:41: generics are not supported in -source 1.4
[javac] (use -source 5 or higher to enable generics)
[javac]         Map<String,Object>      map )
[javac]            ^
[javac] 100 errors

BUILD FAILED

/home/jalil/src/azureus-4.3.0.6/build.xml:39: Compile failed; see the compiler error output for details.

最佳答案

您的编译器期望的代码符合1.5以上的Java版本。 Foreach循环和泛型是仅在Java 1.5中添加的功能,这就是编译器拒绝该代码的原因。您还会收到一条非常明确的错误消息,解释该问题以及如何解决。

您需要编辑传递给javac的命令行(可能通过编辑ant文件),以通过提供-source 1.5(或1.61.7等)或其同义词-source 5(或6)来确保它期望Java 1.5或更高版本的输入。或7等)。您也可以尝试完全删除任何-source选项,默认值可能比所需的1.5更新。

https://stackoverflow.com/questions/14008880/

相关文章:

android - 空载Map Android-Google Maps V2

java - 创建了一个新的Android项目,在手机上运行时崩溃

java - Java-无效的方法声明;方法的返回类型

java - 必需的: variable Found:value Error Java Text-B

objective-c - 预期标识符 '('

java - 无缘无故的错误

java - 字符串预期错误?

java - 参数数组字符串Jframe

vb.net - Git编译错误

c++ - 构建游泳池类时发生编译器错误