tutorial - Ant: Clase no encontrada: javac1.8
ant build (6)
Asegúrese de que sus archivos de origen estén en "ProjectDirectory / src".
Estoy tratando de construir un proyecto usando Ant en eclipse. Hice clic con el botón derecho en build.xml> Ejecutar como> Ant Build. Sin embargo, estoy recibiendo el siguiente error:
BUILD FAILED
C:/Users/David/eclipse/test-project/build.xml:26: Class not found: javac1.8
y también una advertencia:
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
Como leí en otras publicaciones, esto podría deberse a que tenga una versión de ant que sea demasiado antigua o no haya configurado correctamente las variables de entorno, aquí está toda la información:
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
EDITAR: Aquí está el build.xml completo, la línea 26 es la etiqueta 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>
Creo que lo que está viendo es Ant Bug 53347 (consulte https://issues.apache.org/bugzilla/show_bug.cgi?id=53347 ).
Si es así, pruebe con las siguientes soluciones pf:
Establezca la propiedad "build.compiler" en un valor significativo como "javac1.7" o "javac1.3".
Establezca el atributo "compilador" del elemento "javac" de su script de compilación en cualquiera de los valores anteriores. Para todos los valores posibles y su significado, consulte http://ant.apache.org/manual/Tasks/javac.html
El señor studro tiene razón. Acabo de confirmar un ejemplo en Ubuntu 14.04.
sudo apt-get install ant
ant -version
Apache Ant (TM) Version 1.9.3 compiled on April August 2014
funciona perfectamente en eclipse, simplemente siga los pasos descritos por Mr studro para configurar ''Ant Home'' en eclipse con "/ usr / share / ant".
Saludos, Stéphane.
La versión de Ant incluida con su versión de Eclipse no es compatible con Java 1.8.
Vaya a la página de descarga de Ant , y extraiga la última versión en algún lugar apropiado en su sistema de archivos.
En Eclipse, vaya a Window > Preferences > Ant > Runtime
, haga clic en el botón Ant Home...
y seleccione la ubicación a la que extrajo la Ant recién descargada.
Para hacerlo aún más claro.
1> Establezca JAVA_HOME, JRE_HOME y Update Ant a 1.9
2> Sobre build.xml haga clic con el botón derecho => ejecutar como (esto toma en la configuración) ==> Ahora en esta configuración de edición y la ventana emergente de inicio
seleccione la pestaña Principal y luego el tercer campo de formulario llamado "Argumentos" agregue:
-Dbuild.compiler=javac1.7
3> En build.xml add includeantruntime = "false"
<javac srcdir="${src}" destdir="${bin}" debug="true" encoding="ISO-8859-1" includeantruntime="false">
<classpath refid="my.classpath"/>
</javac>
Debe compilarse sin ningún mensaje.
Ya hice un googlear extenso antes de hacer esta pregunta, pero continuando con que encontré una solución here : este problema parece aparecer solo cuando se usa JDK 1.8, por lo que usar JDK 1.7 resuelve el problema. La siguiente línea debe agregarse a eclipse.ini:
-vm "path-to-jdk-1.7/bin/javaw.exe"