在unix中从命令行运行一个简单的java程序时,我得到了这个编译错误:
ERROR in test.java (at line 92)
List fileNames = new ArrayList<String>();
^^^^^^
Syntax error, parameterized types are only available if source level is 5.0同样的问题,Java - Iterator: "Syntax error, parameterized types are only available if source level is 5.0"已经回答了java版本5.0以上引入的泛型,但是当我从命令行执行java -version时,它显示:
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.6)默认情况下,合规版本设置为1.4:
Compliance options:
-1.3 use 1.3 compliance level (implicit -source 1.3
-target 1.1)
-1.4 + use 1.4 compliance level (implicit -source 1.3
-target 1.2)
-1.5 use 1.5 compliance level (implicit -source 1.5
-target 1.5)
-1.6 use 1.6 compliance level (implicit -source 1.6
-target 1.6)
-source <version> set source level: 1.3 to 1.6 (or 5, 5.0, 6 or 6.0)
-target <version> set classfile target level: 1.1 to 1.6 (or 5, 5.0, 6 or
6.0)如何从命令行将其更改为1.5。
发布于 2013-08-23 18:30:58
这是Java运行时环境,而不是开发工具包。
检查javac命令的版本。
另外,如果您使用的是IDE,请确保使用了正确的Java版本,即JDK。
https://stackoverflow.com/questions/18400533
复制相似问题