【发布时间】:2016-04-12 05:31:48
【问题描述】:
我正在尝试在 Eclipse 中使用 Ant 构建一个现有项目。问题是javac 无法识别其中一个文件中使用了 Lambda 表达式 (error: illegal start of expression),并且在 Ant 的 compile 阶段构建失败。
在 Eclipse 中,我确保将 Java Compiler 合规级别设置为 1.8,并且 Java 8 在 Java Build Path 中。
我还确保我的Path、JAVA_HOME 和JRE_HOME 都指向我的Java 8 目录(在Path 中它指向/bin 目录)。
对于咯咯笑,我的build.xml 文件的编译部分是:
<target name="compile" depends="setup">
<javac destdir="${base}/${build.dir}"
srcdir="${base}/${src.dir}"
deprecation="true"
verbose="false"
includeantruntime="false">
<classpath refid="libs" />
</javac>
</target>
我不确定下一步该做什么。我已经求助于重新启动 Eclipse,希望能发生奇迹。欢迎任何建议或帮助!提前致谢。
【问题讨论】:
-
你用的是哪个版本的eclipse?
-
当您在 Eclipse 下运行 Ant 时,它会使用 Ant 安装中配置的任何内容。您还必须正确配置 Ant 以使用 Java 8。
-
使用
<echo>Java version: ${ant.java.version}</echo>查看你在运行ant时实际使用的是哪个版本 -
Ant 'javac' 任务对您在 Eclipse 中设置的合规性级别等事情一无所知。您需要指定这些是“javac”任务的属性。