2011-02-10 9 views
16

problema nella costruzione di formicheproblema nel rilascio di formiche costruire destinazione non valida

[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 

fonte formica e la destinazione di 1,6 en percorso variabile per JDK 1.6

+2

Potrebbe essere utile per alcuni sapere che la formica esamina la variabile JAVA_HOME quando decide quale versione di Java usare. – fejd

risposta

26

si utilizza un compilatore che non può compilare con -target 1.6 (javac: Rilascio obiettivo non valido: 1.6). Sei sicuro di usare il JDK 1.6? Forse un JDK 1.5 è installato e utilizzato dalla formica. Controllare la Java versione utilizzata con l'aggiunta seguente riga al vostro bersaglio (all'inizio):

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

Produce il Java-versione utilizzata da Ant.

È possibile impostare il compilatore per utilizzare una versione Java diversa. Devi usare la forcella-attributo per utilizzare un javac esterna e specificare che quello che si desidera:

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

Leggere la documentazione del javac-task per i dettagli.

+0

si usa 1.5 da dove prende che la mia app ha bisogno sia di 1.5 che di 1.6 ma voglio che d ant selezionamento 1.6 come posso cambiarlo – Gopal

+0

Ho aggiunto una possibilità per specificare quale Java-compilatore usare. – Mnementh

+2

Ti ho dato un upvote per il tag echo, ma echeggia 1.7 e la riga successiva è un errore "target non valido 1.7" Qualche idea? –

13

Forse è necessario che il generatore di formiche corrisponda al tuo jre.

Al Windows->Preferences->Ant->Runtime->Classpath->Global Entries, aggiungere <*your jre home*>/lib/tools.jar e spostarlo verso l'alto.

12

Inoltre, è possibile fare clic con il tasto destro del mouse sul progetto nella vista Ant e scegliere Esegui come ...> Configurazione strumenti esterni ... Nella scheda JRE, selezionare il JRE runtime corretto.

+0

questo è quello che ha funzionato per me in Eclipse. ha avuto un momento difficile – TechCrunch

0

Sì, questo è un vecchio uno, ma si è imbattuto al lavoro e non riusciva a trovare una soluzione documentata da nessuna parte ...

Anche se troppo mi sono imbattuto in questo usando Ant, ma in realtà non sembra avere a che fare con Ant - non sembrano essere stati alcuni rotti JDK build là fuori:

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> 
... 

Dove come un altro 1,6 accumulo appare come:

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 

Così il sol ution è l'aggiornamento di JDK.

0

Fare clic con il pulsante destro del mouse su un file di build; Correre come; Ant Build ...; Scheda JRE; e prova a impostare un JRE separato da quello che desideri. Questo ha funzionato per me, anche se ho installato solo un JRE, Eclipse sembrava ricordare il fantasma di un vecchio.

Problemi correlati