在 Eclipse 中使用 Ant 构建 - javac 无法识别 lambda 表达式 (Java 1.8)
Building with Ant in Eclipse - javac not recognizing lambda expression (Java 1.8)
我正在尝试在 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,希望奇迹发生。欢迎任何建议或帮助!提前致谢。
将 <echo> Java version: ${ant.java.version}</echo>
添加到我的 build.xml
显示 Ant 仍然是 运行 Java 1.7.
我添加了 Java 8 javac
的目录位置,并使用 executable
和 fork
属性修改了 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 的评论。你的力量结合起来让我找到答案。
我正在尝试在 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,希望奇迹发生。欢迎任何建议或帮助!提前致谢。
将 <echo> Java version: ${ant.java.version}</echo>
添加到我的 build.xml
显示 Ant 仍然是 运行 Java 1.7.
我添加了 Java 8 javac
的目录位置,并使用 executable
和 fork
属性修改了 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 的评论。你的力量结合起来让我找到答案。