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

时间:2012-12-23 05:34:03

标签: ant compiler-errors javac

在尝试通过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.

2 个答案:

答案 0 :(得分:1)

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

您需要通过提供-source 1.5(或1.6或{{ 1}}等等)或其同义词1.7(或-source 56等)。您也可以尝试完全删除任何7选项,默认值可能比您需要的-source更新。

答案 1 :(得分:0)

编译器Intellji或Eclipse java 文件&gt;&gt;设置&gt;&gt;编译器&gt;&gt;命令附加命令行编译器&gt;&gt;类型 -source 1.5 -target 1.5

来自Ajay Rathore