在Eclipse中使用Ant构建 - javac无法识别lambda表达式(Java 1.8)

时间:2016-01-07 17:40:37

标签: java eclipse ant version

我正在尝试使用Eclipse中的Ant构建现有项目。问题是javac无法识别其中一个文件中使用Lambda表达式(error: illegal start of expression),并且在Ant的compile阶段构建失败。

在Eclipse中,我确保Java Compiler合规级别设置为1.8,Java 8位于Java Build Path

我还确保我的PathJAVA_HOMEJRE_HOME都指向我的Java 8目录(在Path中指向{ {1}}目录)。

对于咯咯笑,我的/bin文件的编译部分是:

build.xml

我不确定接下来该做什么。我已经尝试重新启动Eclipse,希望能够实现魔法。欢迎任何建议或帮助!提前谢谢。

1 个答案:

答案 0 :(得分:0)

向我的<echo> Java version: ${ant.java.version}</echo>添加build.xml显示Ant仍在运行Java 1.7。

我添加了Java 8 javac的目录位置,并使用javacexecutable属性修改了fork任务以使用它:

<property name="javac1.8" location="/path/to/java8/bin/javac" />
<target name="compile" depends="setup">
    <javac executable="{$javac1.8}" fork="yes"
           destdir="${base}/${build.dir}"
           srcdir="${base}/${src.dir}"
           deprecation="true"
           verbose="false"
           includeantruntime="false">
           <classpath refid="libs" />
    </javac>
</target>

非常感谢@Jim Garrison,@ wero和@ greg-449的评论。你的力量结合在一起引导我回答。