web-dev-qa-db-fra.com

problème dans ant build build release cible non valide

problème de construction de fourmis 

[javac] Compiling 86 source files to F:\XXX\classes
    [javac] javac: invalid target release: 1.6
    [javac] Usage: javac <options> <source files>
    [javac] where possible options include:
    [javac]   -g                         Generate all debugging info
    [javac]   -g:none                    Generate no debugging info
    [javac]   -g:{lines,vars,source}     Generate only some debugging info
    [javac]   -nowarn                    Generate no warnings
    [javac]   -verbose                   Output messages about what the compiler is doing
    [javac]   -deprecation               Output source locations where deprecated APIs are used
    [javac]   -classpath <path>          Specify where to find user class files
    [javac]   -cp <path>                 Specify where to find user class files
    [javac]   -sourcepath <path>         Specify where to find input source files
    [javac]   -bootclasspath <path>      Override location of bootstrap class files
    [javac]   -extdirs <dirs>            Override location of installed extensions
    [javac]   -endorseddirs <dirs>       Override location of endorsed standards path
    [javac]   -d <directory>             Specify where to place generated class files
    [javac]   -encoding <encoding>       Specify character encoding used by source files
    [javac]   -source <release>          Provide source compatibility with specified release
    [javac]   -target <release>          Generate class files for specific VM version
    [javac]   -version                   Version information
    [javac]   -help                      Print a synopsis of standard options
    [javac]   -X                         Print a synopsis of nonstandard options
    [javac]   -J<flag>                   Pass <flag> directly to the runtime system


BUILD FAILED

source et cible ant à 1.6 et chemin variable vers jdk 1.6

17
Gopal

Vous utilisez un compilateur qui ne peut pas compiler avec -target 1.6 (javac: version cible non valide: 1.6). Etes-vous sûr d'utiliser le JDK 1.6? Peut-être qu'un JDK 1.5 est installé et utilisé par ant. Vérifiez la version Java utilisée en ajoutant la ligne suivante à votre cible (au début):

<echo message="Using Java version ${ant.Java.version}."/>

Il génère la version Java utilisée par Ant.

Vous pouvez configurer le compilateur pour utiliser une version Java différente. Vous devez utiliser l'attribut fork pour utiliser un javac externe et spécifier celui que vous voulez:

<javac srcdir="${src}"
         destdir="${build}"
         fork="yes"
         executable="/opt/Java/jdk1.6/bin/javac"
  />

Lisez la documentation de javac-task pour plus de détails.

27
Mnementh

Vous pouvez également cliquer avec le bouton droit de la souris sur votre projet dans votre vue Ant et choisir Exécuter en tant que ...> Configuration des outils externes ... Dans l'onglet JRE, sélectionnez le bon environnement d'exécution JRE. 

13
rayseaward

Peut-être faut-il que le constructeur de fourmis corresponde à votre jre.

À Windows->Preferences->Ant->Runtime->Classpath->Global Entries, ajoutez <*your jre home*>/lib/tools.jar et déplacez-le.

13
bitlixi

Faites un clic droit sur le fichier de construction ant; Courir comme; Construction de fourmis ...; Onglet JRE; et essayez de définir un JRE distinct de celui que vous souhaitez. Cela a fonctionné pour moi, même si je n'ai installé qu'un seul JRE, Eclipse a semblé se souvenir du fantôme d'un vieil.

0
incircuitous

Oui, c’est un vieux projet, mais qui est apparu au travail et n’a pas encore trouvé de solution documentée, où que ce soit….

Même si moi aussi je suis tombé sur cette utilisation de Ant, cela ne semble en fait avoir aucun rapport avec Ant - il semble y avoir eu quelques versions brisées du JDK:

C:\>%Java_HOME%\bin\javac -version
javac 1.6.0_21
javac: no source files
Usage: javac <options> <source files>
...

C:\>%Java_HOME%\bin\javac -target 1.6
javac: invalid target release: 1.6
Usage: javac <options> <source files>
...

Où comme une autre version 1.6 ressemble à ceci:

C:\>set Java_HOME=C:\Progra~1\Java\jdk1.6.0_45

C:\>%Java_HOME%\bin\javac -version
javac 1.6.0_45

C:\>%Java_HOME%\bin\javac -target 1.6
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options

La solution consiste donc à mettre à niveau JDK.

0
user3493398