当前位置: 首页 > 面试题库 >

蚂蚁:找不到类:javac1.8

邵畅
2023-03-14
问题内容

我试图在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标记:

<?xml version="1.0"?>
<project name="test-project" default="main" basedir=".">
  <!-- Sets variables which can later be used. -->
  <!-- The value of a property is accessed via ${} -->
  <property name="src.dir" location="src" />
  <property name="build.dir" location="bin" />
  <property name="dist.dir" location="dist" />
  <property name="docs.dir" location="docs" />

  <!-- Deletes the existing build, docs and dist directory-->
  <target name="clean">
    <delete dir="${build.dir}" />
    <delete dir="${docs.dir}" />
    <delete dir="${dist.dir}" />
  </target>

  <!-- Creates the  build, docs and dist directory-->
  <target name="makedir">
    <mkdir dir="${build.dir}" />
    <mkdir dir="${docs.dir}" />
    <mkdir dir="${dist.dir}" />
  </target>

  <!-- Compiles the java code (including the usage of library for JUnit -->
  <target name="compile" depends="clean, makedir">
    <javac srcdir="${src.dir}" destdir="${build.dir}">
    </javac>
  </target>

  <!-- Creates Javadoc -->
  <target name="docs" depends="compile">
    <javadoc packagenames="src" sourcepath="${src.dir}" destdir="${docs.dir}">
      <!-- Define which files / directory should get included, we include all -->
       <fileset dir="${src.dir}">
                <include name="**" />
           </fileset>
    </javadoc>
  </target>

  <!--Creates the deployable jar file  -->
  <target name="jar" depends="compile">
    <jar destfile="${dist.dir}\test-project1.jar" basedir="${build.dir}">
      <manifest>
        <attribute name="Main-Class" value="test.Main" />
      </manifest>
    </jar>
  </target>

  <target name="main" depends="compile, jar, docs">
    <description>Main target</description>
  </target>

</project>

问题答案:

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

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

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



 类似资料:
  • 我使用的是JDK 1.7,eclipse 4.2.2、JUnit 4.8.1、ant 1.9.2、windows8 64位**。当我运行build.xml时,所有目标都运行良好,但名称为run的目标运行不佳。 当我使用命令提示符运行生成时,我得到以下错误: buildfile:C:\users\Ashish Rathore\workspace\antexample\build.xml 运行:[ju

  • 当我在命令行中输入Ant时。。我犯了以下错误。。 找不到工具。罐子应该可以在C:\Program Files\Java\jre6\lib\tools中找到。jarbuildfile:build。xml不存在!构建失败

  • 问题内容: 我正在尝试使用BuildFile(build.xml)在Ant中构建项目。尽管ANT_HOME环境变量明显存在并且设置为“ ant.bat”所在的路径,但它始终显示此错误消息。如何正确配置Ant以在Windows中编译版本? 谢谢 问题答案: 可以设置ANT_HOME,但这并不意味着/ bin的路径在您的PATH中,因此OS可以找到它。 将ANT_HOME / bin添加到您的PATH

  • 问题内容: 在定义顺序构建步骤时,我使用元素的属性。我最近看到了一个ant文件,其中的构建顺序是由目标内部的元素定义的。为了显示 : 与 两种方法之间是否有真正的区别?是其中之一更可取吗? 问题答案: 与这两种方法的主要区别在于目标是 始终 执行,而在目标只有在包含目标是执行。 一个澄清的例子: 在这里,将始终执行,而只有在定义时才会执行。 在此,仅当is即定义时才执行。

  • 问题内容: 我的Ubuntu 10.04 i386服务器(无头)上有一个名为Hello的Android项目。它包含Android项目文件夹应具有的所有内容。我首先使用以下synax在Project文件夹中的bash中构建项目: 然后我尝试像这样用ant构建.apk: 我收到此错误: 这让我很困惑,因为在我跑步之前,我跑步: 我知道这是有效的,因为在bash shell中返回: 为了解决这个问题,请

  • 我试图使用ant构建我的android项目(它在eclipse中运行良好)。我运行了以下生成失败行的错误: 构建失败[path]/android_sdks/tools/ant/BUILD.xml:680:执行这一行时发生以下错误:[path]/android_sdks/tools/ant/BUILD.xml:693:编译失败;有关详细信息,请参阅编译器错误输出。 总时间:6秒