未findjavac1.8类

我已经安装了两个jdks – jdk 1.5和jdk 1.8。 我有以下的Ant build.xmlconfiguration文件:

<target name="compileCustomSrc"> <javac srcdir="src" destdir="build/classes" source="1.5" target="1.5" > <classpath> <fileset dir="C:/lib/"> <include name="*.jar" /> </fileset> </classpath> </javac> </target> 

在安装jdk1.8之前,从Eclipse调用的Ant编译所有源码成功。 但现在,我有以下错误消息:

 未find类:javac1.8 

我的JAVA_HOME和JRE_HOME:

  JAVA_HOME = C:\ Program Files(x86)\ Java \ jdk1.5.0_16
 JRE_HOME = C:\ Program Files(x86)\ Java \ jre1.5.0_16 

并在Eclipse JRE中设置为1.5。 Java 1.8在安装过程中是否设置了一些configuration?

 未find类:javac1.8 

这个错误是在Apache Ant版本小于1.9.0的情况下发生的 – 这与Java 8不兼容。如果您使用的是Ant <1.9.0版本,则应该更新到1.9.x版本。

这里是相关的错误报告: https : //issues.apache.org/bugzilla/show_bug.cgi?id=53347

顺便说一句,如果你只是想用Java 8编译,但不需要编译任何实际的Java 8语法,那么你可以将下面的parameter passing给javac作为解决方法 ,这将允许您继续使用旧版本的Ant :

 -Dbuild.compiler=javac1.7 

作为Kristian Holdhus的答案(标记为正确)的后续,您可以在Ant javac任务上使用compiler属性。 设置compiler="modern"应该都是向后(早在1.3)和向前兼容。

这样可以避免设置名为build.compiler的Java系统属性。 只有在没有明确设置javac任务的compiler属性的情况下,Ant才会使用build.compiler的值作为回退。

我有同样的问题。 我已经正确设置了JAVA_HOME和JRE_HOME。 我也有Ant> 1.9。

我所做的修复是进入Eclipse的窗口 – >首选项。 展开Ant并select运行时。 默认情况下,应该selectClasspath选项卡,在右边有一个名为“Ant Home”的button。 点击这个button并仔细检查它是否指向你的Ant文件夹。

 JAVA_HOME = C:\Program Files (x86)\Java\jdk1.5.0_16 JRE_HOME = C:\Program Files (x86)\Java\jre1.5.0_16 

您的JAVA_HOME和JRE_HOME被设置为Java 1.5安装,因此1.8找不到二进制文件(如javac )。 将它们设置为Java 1.8安装,你应该没问题。

我用Eclise试了一下,得到了同样的错误类未find:javac1.8

我在我的系统上validation了ANT版本

>反转

Apache Ant(TM)版本1.9.6于2015年6月29日编译

当我试图从命令提示符运行build.xml时,它工作。 然后我在Eclipse中检查了它是指旧版本的ANT。

我简单地编辑了Eclipse中的ANT HOMEpath,并且从这里开始工作。 🙂

以下是需要在Eclipse中编辑ANTpath的图像。

  1. 右键单击build.xml文件
  2. 运行为
  3. 外部工具configuration
  4. select类path选项卡

现在从这里改变ANT主path。

在这里输入图像说明

将Java Ant版本更新为1.9.x,与Ant版本不兼容1.9版本

我尝试了所有其他的解决scheme,但没有工作。 我终于find了一个在Eclipse中为我工作的方法:

  • 右键单击ant任务名称,例如ant窗口中的“compileCustomSrc”。
  • selectRun As | External Tool Configurations Run As | External Tool Configurations
  • 然后在JRE选项卡上,selectSeparate JRE: Java SE7或者任何你的java 7被命名,然后点击Apply然后Run

你的ant任务将被执行,并将正确地build立!

将Ant版本更新为1.9.x版本,与Ant版本不兼容1.9版本或者在命令执行后将-Dbuild.compiler = javac1.7版本与以下版本兼容:

ant释放-Dbuild.compiler = javac1.7

你可以在你的系统上下载并解压缩ANT 1.10,然后尝试在你的项目中将日蚀中的ANT home修改为1.10。 它应该工作,阅读这个更多的细节。 http://devops-badal.blogspot.com/2017/02/class-not-found-javac18-issue-while.html