Maven generazione non riuscita: Impossibile individuare la Javac compilatore in: jre o un problema JDK

StackOverflow https://stackoverflow.com/questions/2222560

  •  19-09-2019
  •  | 
  •  

Domanda

Ho il mio JAVA_HOME impostato su

C:\Program Files (x86)\Java\jdk1.6.0_18

Dopo corro Maven installare ottengo questo messaggio da Eclipse:

Motivo:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

Sono sicuro che questa è la parte difficile

  

Si prega di assicurarsi che si sta utilizzando JDK 1.4 o   sopra e       non un JRE

Quando eseguo la configurazione il suo set di JRE6, come faccio a cambiare a JDK 1.6, che ho già installato

Modifica

Ho anche provato a modificare il plugin:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
                </configuration>
            </plugin>

Ancora ottengo lo stesso errore

Forse ho dimenticato di dire che io uso Eclipse Maven plug .. come posso cambiare da JRE al JDK in Eclipse?

È stato utile?

Soluzione

Si potrebbe provare ad aggiornare l'Eclipse JDK sta usando, come segue:

Aggiungere e impostare il JRE in Finestra-> Preferenze ...-> Java-> JRE installate:

JRE type: Standard VM JRE 
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

Se questo non è il caso, è possibile che le staffe e gli spazi nel percorso JAVA_HOME stanno causando problemi. Provare a copiare il vostro JDK in una posizione diversa e l'aggiornamento JAVA_HOME.

Altri suggerimenti

eclipse.ini ha bisogno l'argomento vm per puntare alla posizione JDK.

Modificare il file eclipse.ini per puntare alla vostra casa JDK, qualcosa come segue -

-vm
C:\Program Files\Java\jdk1.6.0_06

Questo assicura che Eclipse seguirebbe il JDK e non un difetto JRE sulla vostra macchina.

Si tenta:

Vai Preferences/Java/Installed JREs e aggiungere uno per il "C:\Program Files\Java\jdk1.6.0_27\jre posizione o qualcosa del genere.

Rimuovi quello per C:\Program Files\Java\jre6

Come si può vedere, la C:\Program Files\Java\jre6\..\lib\tools.jar percorso ha un senso solo se la prima parte (fino alla / ..) è sostituita dalla C:\Program Files\Java\jdk1.6.0_27\jre.

Impostazione Fork true risolto il problema per me.

<configuration>
<fork>true</fork>
<source>1.6</source>
<target>1.6</target>
</configuration>

La ringrazio molto, Sam Yang..you fatto il mio giorno

ho avuto ESATTO lo stesso problema! Stato alla ricerca e la ricerca di giorni perché tutto il balbettio di "mettere il -vm c: \ programmi \ java \ jdkxxxxx \ bin" nel ini ar come argomento per una shortcurt fatto NIENTE heklp! (Ho suono frustrato? Credetemi, questo è un eufemismo! Sono semplicemente furiosa perché ho perso una settimana cercando di fare Maven affidabile!)

Ho avuto un comportamento molto imprevedibile. A volte è compilato, a volte no. Se ho fatto un Maven pulita, non riusciva a trovare il compilatore e non è riuscito. Se poi cambiato qualcosa nel percorso di generazione, improvvisamente ha lavorato di nuovo !!

Fino a quando sono andato a finestra -> Preferenze -> Java -> installato JRE di. Ho aggiunto un nuovo JRE utilizzando la posizione del JDK e poi rimosso il JRE. Improvvisamente esperto di corse stabile!

Forse questo vale la pena mettere in lettere con font-size 30 o giù di lì nel manuale apache? Con tutto il rispetto, questo è semplicemente scandaloso per la comunità Java! Non riesco a immaginare quanti giorni sono stati persi da tutte queste persone, cercando di risolvere i loro problemi di questo tipo! Non riesco a immaginare questo è rilasciato come versione finale. Io personalmente non avrei nemmeno il coraggio di rilasciare una cosa del genere sotto il nome di software BETA ...

Cordiali saluti in entrambi i casi .... Dopo una settimana di manomissione posso finalmente iniziare a sviluppare. Spero che il mio capo non scoprire questo. Mi ci sono voluti un sacco di sforzi per convincerlo a non andare a .NET e ho già dispiace su di esso.

Ho avuto lo stesso problema con Esegui come -> Maven installare in Eclipse. JAVA_HOME e eclipse.ini erano OK e indicando il mio ultimo JDK. Ma m2clipse utilizzato JRE. Utilizzando mvn installare al di fuori di Eclipse ha funzionato bene! Nel mio caso ho risolto il problema nel modo seguente: 1. Andare in Eclipse: Window -> Preferenze -> Java -> JRE installati 2. C'erano due voci inattive per un JRE e JDK. Quella attiva è stato l'ultimo JDK installato. Elimina tutte le voci, ma quello Maven dovrebbe usare.

Credo che Maven non tiene acount quello attivo ...

Ho appena installare Maven 3.0.4, impostare M2_HOME, M2 e JAVA_HOME conseguenza. Allora ho fatto funzionare i seguenti comandi:

mvn archetype:generate....

mvn compile

Sono stato fallito messaggio del tipo: maven unable to locate javac compiler.

Sul mio computer, ho JRE installazione di default a c: \ programmi \ Java \ jre.1.6 . E ho l'altra c: \ java \ jdk1.6 e JAVA_HOME impostare a questa c: \ java \ jdk1.6 .

Non vedo nulla di sbagliato con la mia impostazione. Dopo la ricerca, ho deciso di guardare in mvn.bat, feci eco %JAVA_HOME% ogni passo e si visualizza correttamente come C:\java\jdk1.6 ma quando faccio funzionare l'ordine: mvn --version, visualizza casa Java: c: \ programmi \ java \ jre1.1.6 .

Infine, ho scoperto che ho solo bisogno di impostare -Djava.home=c:\java\jdk1.6 come nel comando di seguito, e lavorando bene ora:

%MAVEN_JAVA_EXE% %MAVEN_OPTS% -classpath %CLASSWORLDS_JAR% "-Dclassworlds.conf=%M2_HOME%\bin\m2.conf" "-Djava.home=%JAVA_HOME%" "-Dmaven.home=%M2_HOME%" %CLASSWORLDS_LAUNCHER% %MAVEN_CMD_LINE_ARGS%

Spero che questo aiuti.

Nota:. Questo è per mvn sulla riga di comando e non con Eclipse

Sembra Maven sta usando il JRE, non il JDK. Forse è stato installato Maven prima di installare la JDK?

impostazioni file . Ci sono 3 in totale, il sistema, utente e progetto. Il suo più probabile nella configurazione di installazione ($ M2_HOME / conf / settings.xml) o, eventualmente, la configurazione per utente ($ {} user.dir /. M2 / settings.xml).

Ho risolto il problema modificando posizione Installato JRE nella directory presenti nel JDK sé. Impostazione corretta valore della variabile d'ambiente JAVA_HOME non ha risolto il problema.

Nel mio caso, ci sono due directory

  • C:\Program Files\Java\jdk1.7.0_03 --> For JDK

  • C:\Program Files\Java\jre7 --> For JRE

Inizialmente ho impostato C:\Program Files\Java\jre7 come installato JRE in Eclipse e mi è stato sempre lo stesso errore in caso di Maven (Ant stava funzionando benissimo).

Modificando JRE installata C:\Program Files\Java\jdk1.7.0_03\jre7 come installato JRE in Eclipse il problema non viene risolto.

Impostazione Eclipse solo

fare le seguenti operazioni:

  1. Fare clic destro su Proprietà progetto Eclipse

  2. Java Build Path -> Biblioteche

  3. Seleziona JRE Sistema Bibliotecario -> Fare clic sul pulsante Modifica

  4. Fai clic su "JRE installati ..." pulsante

  5. Modifica JRE come: Set JRE casa = JAVA_HOME o JAVA_HOME \ jre

ScreentShot:

entrare descrizione dell'immagine qui

Molte grazie,

Partha

Fare clic destro sul Progetto -> Proprietà -> Java Build Path. Selezionare il percorso JRE Sistema -> Modifica. Selezionare il JRE di lavoro predefinita, e puntarlo al JDK> 1.4

Window -> Preferences -> Java -> installed JREs -> Execution Enviroments -> click the checkbox on the right side

La soluzione è semplice, alcune volte la finestre Eclipse -> preferenze -> Java -> JRE installata che puntano al C:\Program files\Java\jre, quando ho cambiato in C:\Program files\Java\JDK 6.0\jre si sta lavorando al 100%.

Come già detto da molti altri, il Window->Preferences...->Java->Installed JREs Eclipse dovrebbe puntare al JDK è stato installato, non per JRE. Solo allora può trovare la cartella ../lib menzionato nel messaggio di errore.

Anche con questo, il problema potrebbe ripresentarsi. La mia via d'uscita in Eclipse (Juno) è quello di fare un Maven -> Update project... dopo di che il problema scompare.

Ho il sospetto che il motivo è che alcuni dei file generati Eclipse (.classpath, .project, .preferences) sono in Subversion per il progetto in cui sto avendo questi problemi. Così, un aggiornamento svn introduce il problema, e un aggiornamento configurazione da Maven in Eclipse risolve nuovamente.

soluzione reale: omettere Eclipse generato .files dal controllo di versione , e lasciare che l'esperto di eclissi configurazione del progetto maniglia plugin. (puntatori aggiuntivi / suggerimenti di benvenuto) .

Non dimenticate che se si esegue il progetto da una particolare configurazione di Eclipse, è necessario modificare il runtime Java all'interno 'Run Configurazioni' -> 'La configurazione di Maven' -> 'JRE tab'after si aggiunge il JDK giusta alle vostre preferenze di Eclipse.

Nel mio caso, in eclisse Run-> Debug Configurations Nella scheda jre selezionata JDK invece del jre risolto il problema.

Ho avuto lo stesso problema su Amazon Linux. Si scopre che ho dovuto installare versione devel del JDK: |

sudo yum -y install java-1.7.0-openjdk-devel

Vai alla Eclipse Finestra-> Preferenze ...-> Java-> JRE installata dovrebbe puntare al JDK installato, non al JRE.

Direi che la posizione del compilatore è definita in un pom per il plugin compilatore di essere nella posizione jre visualizzata, invece della posizione JDK avete JAVA_HOME che punta a.

Se si imposta l'JAVA_HOME, e il problema persiste provare quanto segue. (Ho avuto lo stesso problema, su un pc fresco installato.)

Supponendo che si sta utilizzando Eclipse.

  • Apri finestra - preferenze - java - installato JRE rimuovere tutto quello che hai lì, aggiungere il desiderato che si desidera utilizzare (JDK, JRE non!)
  • Nella stessa finestra aperta Maven - installazioni, aggiungere l'installazione Mave è stato scaricato ed estratto da qualche parte. (NON UTILIZZARE l'installazione Maven incorporato, ha alcuni bug conosciuti)

Questo è tutto. il progetto non soffrirà di problemi di Sutch. La speranza aiuta.

È anche possibile fare in modo che Eclipse ha tutte le modifiche aggiornate. Per fare questo, fare clic destro del progetto e quindi premere la voce di menu "Aggiorna".

È necessario indicare JAVA_HOME in mvn.ini (è nella cartella di /bin Maven), e il problema scompare.

Molte altre risposte che dicono di puntare l'Eclipse per un JDK invece di un JRE.

Ecco un'altra risposta con più specifici / chiara [di quanto ho visto in qualsiasi risposta qui] step-by-passi su come farlo: Come si installa JDK?

Questo è ciò che per me risolto per questo stesso problema.

Ho avuto lo stesso errore, a causa della versione JUnit, ho avuto 3       3.8.1 e ho cambiato a 4.8.1.

in modo che la soluzione è

si deve andare a POM, e assicurarsi che si dipendenza appare in questo modo

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

Ho cambiato la configurazione di Maven-compiler-plugin per aggiungere eseguibile e forcella con valore true.

            <configuration>
                <fork>true</fork>
                <source>1.6</source>
                <target>1.6</target>
                <executable>C:\Program Files\Java\jdk1.6.0_18\bin\javac</executable>
            </configuration>

Ha funzionato per me.

Make sure the "-vm" in your eclipse.ini is on two sperate lines, ie:

-vm
C:\Program Files\Java\jdk1.6.0_06

do Echo %JAVA_HOME%
then mvn --version

JRE path should be same.... then go Window -> preferences - java - installed jre's
location should be same as what Java_Home is showing.

Go to the Properties making right click on the project.

In LINKED RESOURCES add a new Path called JAVA_HOME and put your jdk location, something like "C:\Program Files\Java\jdk1.8.0_73"

That's all!!

Solution to this problem is very simple....

If you don't have ANT build file then generate it. In eclipse you can easily create a ANT file.

Refer to the link to create ANT build file [http://www.codejava.net/ides/eclipse/how-to-create-ant-build-file-for-existing-java-project-in-eclipse].

Now follow the given steps:

1) Add your ANT build file in ANT view that is in view window.

2) right click on your ANT build file and select Run As and the second option in that "Ant Build".

3) Now a dialog box will open with various options and tabs.

4) Select the JRE tab.

5) you will see 3 radio buttons and they will be having JRE or JDK selected as an option.

6) Look carefully if the radio button options are having JRE as selected then change it to JDK.

7) Click apply.

That's it...!!!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top