2013-06-06 24 views
5

Stesso progetto Creazione utilizzando Maven su due laptop diversi. Su uno corre bene e su uno il suo errore di visualizzazione.Errore durante l'esecuzione di javac: errore di compilazione

Stato: Entrambi i sistemi hanno le stesse configurazioni.

C:\Users\admin>mvn -version 
Apache Maven 2.2.1 (r801777; 2009-08-07 00:46:01+0530) 
Java version: 1.6.0_43 
Java home: C:\Installers\Java\jdk1.6.0_43\jre 
Default locale: en_IN, platform encoding: Cp1252 
OS name: "windows 7" version: "6.1" arch: "amd64" Family: "windows" 

comando utilizzato: mvn clean install -DskipTests = true

Errore:

[INFO] [compiler:compile {execution: default-compile}] 
[INFO] Compiling 3 source files to C:\Users\admin\HeliosWorkspace\...\target\classes 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Compilation failure 
Failure executing javac, but could not parse the error: 
The system cannot find the path specified. 

[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.BuildFailureException: Compilation failure 
Failure executing javac, but could not parse the error: 
The system cannot find the path specified.  

     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor 
.java:715) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifec 
ycleExecutor.java:556) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor. 
java:535) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultL 
ifecycleExecutor.java:387) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleE 
xecutor.java:348) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java 
:180) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
     at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
     at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
     at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
     at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure 
Failure executing javac, but could not parse the error: 
The system cannot find the path specified. 

Ho anche provato anche l'eliminazione di tutto, come la creazione di nuovo cartella .m2.

+0

Esegui 'mvn -X clean install -DskipTests = true' per vedere l'output di debug e incollarlo qui. –

+0

controlla la tua variabile Java_Home – Adarsh

+0

Controlla anche se il plug-in del compilatore è configurato correttamente. –

risposta

1

Grazie a tutti, ora il suo lavoro:

mvn -X clean install -DskipTests=true 

modalità debug è molto disponibile.

0

Controlla il tuo file POM e assicurarsi di avere le variabili d'ambiente giusto per MVN e Java

0

ho avuto un problema simile, e ho trovato che settings.xml @ Maven_home/conf o C: \ Users \ .m2 \ settings.xml stava puntando a un percorso JDK errato, correggendo quale ha risolto il problema. Il messaggio di errore che è stato stampato sopra è in realtà un punto sul quale si dice "Errore nell'esecuzione di javac", il che significa che Maven non ha trovato il JDK.

Grazie Hithesh

3

ho avuto questo problema, e risolti con un po 'di risoluzione dei problemi.

Questo è in realtà un messaggio di errore DOS quando si tenta di eseguire un file, ma immettere un percorso non valido ad esso.

C:\Users\me>c:\asdf\foo.exe 
The system cannot find the path specified. 

Maven sta cercando di eseguire javac per compilare il codice, ma non ha le corrette path.For numerose configurazioni, è necessario controllare il percorso del compilatore nel vostro pom.xml. Vai al prompt di cmd e copialo e incollalo e assicurati che sia un percorso valido.

Per un'installazione che utilizza i profili settings.xml per definire alcune configurazioni globali su JAVA_HOME diversi come nell'esempio seguente, assicurarsi che i percorsi siano corretti in ogni variabile, il profilo con queste variabili è attivo (i tag activeProfile possono garantire questo) , ed è correttamente fatto riferimento nella vostra pom.xml

<!-- settings.xml --> 
<profiles> 
<profile> 
    <id>compiler-versions</id> 
    <properties> 
     <JAVA_1_5_HOME>C:/java/jdk1.5.0_16</JAVA_1_5_HOME> 
     <JAVA_1_6_HOME>C:/java/jdk1.6.0_43</JAVA_1_6_HOME> 
     <JAVA_1_7_HOME>C:/java/jdk1.7.0_55</JAVA_1_7_HOME> 
    </properties> 
</profile> 
</profiles> 


<activeProfiles> 
    <!-- make the profile active all the time --> 
    <activeProfile>compiler-versions</activeProfile> 
</activeProfiles> 

pom.xml frammento:

<!-- pom.xml --> 
<!-- ... --> 
<build> 
      <configuration> 
       <verbose>false</verbose> 
       <fork>true</fork> 
       <executable>${JAVA_1_6_HOME}/bin/javac</executable> 
       <compilerVersion>1.6</compilerVersion> 
       <meminitial>256m</meminitial> 
       <source>1.6</source> 
       <target>1.6</target> 
       <!--encoding>UTF-8</encoding--> 
       <maxmem>512m</maxmem> 
      </configuration> 
</build> 
0

so che questo è un vecchio argomento, ma credo che questa risposta sarà aiutare le persone in futuro:

Java home: C:\Installers\Java\jdk1.6.0_43\jre

Si sta utilizzando JRE anziché JDK. basta rimuovere "\ jre" da java home

Problemi correlati