Ant: Classe introuvable: javac1. 8
J'essaie de construire un projet en utilisant Ant dans eclipse. J'ai cliqué droit sur construire.xml > exécuter en tant que > Ant Build. Cependant, je reçois l'erreur suivante:
BUILD FAILED
C:UsersDavideclipsetest-projectbuild.xml:26: Class not found: javac1.8
Et aussi un avertissement:
compile:
[javac] C:UsersDavideclipsetest-projectbuild.xml:26: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
Comme je l'ai lu dans d'autres messages que cela pourrait être dû à une version ant trop ancienne ou ne pas avoir correctement défini les variables d'environnement, voici toutes les informations:
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 FilesJavajdk1.8.0_05
C:>echo %JRE_HOME%
C:Program FilesJavajre8
Modifier: Voici l'ensemble de la construction.xml, ligne 26 est la balise 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>
6 réponses
La version D'Ant fournie avec votre version D'Eclipse n'est pas compatible avec Java 1.8.
Accédez à la page de téléchargement Ant , et extrayez la dernière version quelque part approprié sur votre système de fichiers.
Dans Eclipse, accédez à Window > Preferences > Ant > Runtime
, cliquez sur le bouton Ant Home...
et sélectionnez l'emplacement dans lequel vous avez extrait La Fourmi nouvellement téléchargée.
Pour le rendre encore plus clair.
1 > Définissez JAVA_HOME, Jre_home et Update Ant sur 1.9
2 > sur la construction.xml clic droit = > exécuter comme (cela prend en configuration)==>maintenant, dans cette configuration D'édition et de lancer la fenêtre pop-up
Sélectionnez l'onglet Principal, puis le troisième champ de formulaire appelé "Arguments" ajouter:
-Dbuild.compiler=javac1.7
3 > dans la construction.xml ajouter includeantruntime="false"
<javac srcdir="${src}" destdir="${bin}" debug="true" encoding="ISO-8859-1" includeantruntime="false">
<classpath refid="my.classpath"/>
</javac>
, Il devrait compiler sans aucun message
M. studro est droit. Je viens de confirmer un exemple sur Ubuntu 14.04
sudo apt-get install ant
ant -version
Apache Ant (TM) Version 1.9.3 compiled on April August 2014
Fonctionne parfaitement dans eclipse, il suffit de suivre les étapes décrites par M. studro pour configurer le 'Ant Home' dans eclipse avec "/ usr / share / ant".
Cordialement, Stéphane.
Je pense, ce que vous voyez est Ant Bug 53347 (voir https://issues.apache.org/bugzilla/show_bug.cgi?id=53347).
Si c'est le cas, essayez les solutions de contournement suivantes:
Définit la propriété " build.compilateur "à une valeur significative comme "javac1.7", ou "javac1. 3".
Définissez l'attribut" compiler "de l'élément" javac " de votre script de construction sur l'une des valeurs ci-dessus. Pour toutes les valeurs possibles et leur signification, voir http://ant.apache.org/manual/Tasks/javac.html
Assurez-vous que vos fichiers source sont dans "ProjectDirectory/src".
J'ai déjà fait quelques recherches approfondies sur Google avant de poser cette question mais en continuant que j'ai trouvé une solution ici : Ce problème semble n'apparaître que lors de l'utilisation de JDK 1.8, donc l'utilisation de JDK 1.7 résout le problème. La ligne suivante doit être ajoutée à eclipse.ini:
-vm "path-to-jdk-1.7\bin\javaw.exe"