Ant:未找到类:javac1.8

Dav*_*d_Z 26 java eclipse ant

我试图在eclipse中使用Ant构建一个项目.我右键单击build.xml> Run As> Ant Build.但是,我收到以下错误:

BUILD FAILED
C:\Users\David\eclipse\test-project\build.xml:26: Class not found: javac1.8
Run Code Online (Sandbox Code Playgroud)

还有一个警告:

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
Run Code Online (Sandbox Code Playgroud)

正如我在其他帖子中读到的那样,这可能是因为蚂蚁版本太旧或没有正确设置环境变量,所有信息都是:

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
Run Code Online (Sandbox Code Playgroud)

编辑:这是整个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> 
Run Code Online (Sandbox Code Playgroud)

Rei*_*977 31

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

转到Ant下载页面,并将适当的最新版本解压缩到您的文件系统中.

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

  • Ant 1.9.6肯定支持Java 8.实际上,[Ant自1.9.1以来就一直支持Java 8](https://wiki.eclipse.org/Ant/Java8).如果Ant 1.9.6不适合您,可能您的配置存在不同的问题. (3认同)

vim*_*hna 6

使其更加清晰.

1>将JAVA_HOME,JRE_HOME和Update Ant设置为1.9

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

选择Main选项卡,然后选择名为"Arguments"的第三个表单字段:

-Dbuild.compiler=javac1.7
Run Code Online (Sandbox Code Playgroud)

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

<javac srcdir="${src}" destdir="${bin}" debug="true" encoding="ISO-8859-1" includeantruntime="false">
        <classpath refid="my.classpath"/>
</javac>
Run Code Online (Sandbox Code Playgroud)

编辑配置

它应该编译没有任何消息