ant java /jre,关于java:Ant:找不到类:javac1.8

我正在尝试使用Eclipse中的Ant构建项目。 我右键单击build.xml>运行方式> Ant Build。 但是,我收到以下错误:

BUILD FAILED

C:\Users\David\eclipse\test-project\build.xml:26: Class not found: javac1.8

还有一个警告:

compile:

[javac] C:\Users\David\eclipse\test-project\build.xml:26: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

正如我在其他文章中所读到的那样,这可能是由于ant版本太旧或未正确设置环境变量所致,这里是所有信息:

C:\>java -version

java version"1.8.0_05"

Java(TM) SE Runtime Environment (build 1.8.0_05-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

C:\>ant -version

Apache Ant(TM) version 1.9.3 compiled on December 23 2013

C:\>echo %JAVA_HOME%

C:\Program Files\Java\jdk1.8.0_05

C:\>echo %JRE_HOME%

C:\Program Files\Java\jre8

编辑:

这是整个build.xml,第26行是javac标记:

Main target

向我们展示您的build.xml并指出第26行。

Ant使用编译器适配器来调用Javac编译器。对于现代版本,适配器是根据Java版本确定的,因此,除非定义了build.compiler属性或编译器属性,否则使用Java 1.8会尝试使用适配器javac1.8。该适配器仅在Ant版本1.8.3或更高版本中可用。 includeantruntime警告告诉javac任务在编译期间是否将Ant jar文件放在路径中,默认值为true。建议将其设置为false,这样您就只能选择要拾取的环境。

好的,刚刚看到您使用的是1.9.3,所以不应该是一个问题。您可以使用-d标志运行Ant并查看蚂蚁认为环境是什么吗?

是的,我正在使用最新的ant版本。就像我在答案中发布的那样,我只会使用jdk 1.7。

是否设置了$JAVA_HOME?如果是这样,$JAVA_HOMEjavac -version会做什么?只要确保您点击了JDK而不是JRE。 JRE不会执行javac,并且会给您该错误。

您可以从命令行而不是通过Eclipse运行此构建吗?这将帮助我们确定错误是与Ant还是Java本身有关,还是与Ecilpses配置有关。

还可以看看Stackoverflow上的这个问题

Eclipse和Ant的可能重复:找不到javac1.8类

请通过以下链接stackoverflow.com/questions/20702626/javac1-8-class-not-found/查看答案

与您的Eclipse版本捆绑在一起的Ant版本与Java 1.8不兼容。

转到Ant下载页面,并将最新版本提取到文件系统上适当的位置。

在Eclipse中,转到Window > Preferences > Ant > Runtime,单击Ant Home...按钮,然后选择将新下载的Ant提取到的位置。

今天,Ant的最新版本是1.9.6。 但是,它仍然不能与Java 1.8一起使用。

Ant 1.9.6当然支持Java8。实际上,从1.9.1开始,Ant就已经支持Java 8。 如果Ant 1.9.6不适用于您,则您的配置可能存在其他问题。

为了更加清楚。

1>将JAVA_HOME,JRE_HOME设置为1.9

2>在build.xml上右键单击=>运行(这需要配置)==>现在在此编辑配置中并启动弹出窗口

选择"主要"选项卡,然后选择第三个表单字段"参数"

加:

-Dbuild.compiler=javac1.7

3>在build.xml中添加includeantruntime =" false"

edc18ee19466d985b3f9566199cad2a1.png

它应该编译没有任何消息

我认为,您看到的是Ant Bug 53347(请参阅https://issues.apache.org/bugzilla/show_bug.cgi?id=53347)。

如果是这样,请尝试以下解决方法:

将属性" build.compiler"设置为有意义的值,例如" javac1.7"或" javac1.3"。

将构建脚本的" javac"元素的" compiler"属性设置为上述任一值。

有关所有可能的值及其含义,请参见http://ant.apache.org/manual/Tasks/javac.html

斯图德罗先生是对的。我刚刚在Ubuntu 14.04上确认了一个示例

sudo apt-get install ant

ant -version

Apache Ant (TM) Version 1.9.3 compiled on April August 2014

在eclipse中运行完美,只需按照studro先生描述的步骤在eclipse中使用" / usr / share / ant"配置"蚂蚁之家"。

问候,斯特凡。

确保您的源文件在" ProjectDirectory / src"中。

它们在" test-project / src"中。 虽然在子文件夹中,但这不是问题。

当您尝试javac -version时?

哦,jdk / bin路径不在PATH变量中,所以javac -version不起作用。 但是我将其添加到环境变量中,然后javac -version给出了这一点:javac 1.8.0_05但是,使用ant编译仍然无法正常工作。

您是否在PATH更新后尝试重新启动Eclipse?

是的,我确实重启了它。

在问这个问题之前,我已经进行了广泛的谷歌搜索,但是继续说,我在这里找到了解决方案:

该问题似乎仅在使用JDK 1.8时出现,因此使用JDK 1.7可以解决此问题。需要在eclipse.ini中添加以下行:

-vm"path-to-jdk-1.7\bin\javaw.exe"

为什么我们不能使用JDK 1.8?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值