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



我正试图在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中,它指向/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,希望奇迹发生。欢迎任何建议或帮助!提前谢谢。

<echo> Java version: ${ant.java.version}</echo>添加到我的build.xml中表明Ant仍在运行Java1.7。

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

<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的评论。你们的力量使我找到了答案。

相关内容

  • 没有找到相关文章

最新更新