未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的图像。
- 右键单击build.xml文件
- 运行为
- 外部工具configuration
- select类path选项卡
现在从这里改变ANT主path。
将Java Ant版本更新为1.9.x,与Ant版本不兼容1.9版本
我尝试了所有其他的解决scheme,但没有工作。 我终于find了一个在Eclipse中为我工作的方法:
- 右键单击ant任务名称,例如
ant
窗口中的“compileCustomSrc”。 - select
Run 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