Impossibile individuare tools.jar


182

Sto realizzando un progetto in Java.

Ho questo errore:

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

Ho installato un JDK e la cartella: C:\Program Files\Java\jre6\libè nel mio sistema ma il file tools.jarnon è presente.


Penso che gli strumenti appartengano al JDK e non al JRE. Non è così? C: \ Programmi \ Java \ jdk1.6.0_24 \ lib
Edwin Dalorzo

4
A parte ciò, ciò che trovo sorprendente è che il programma in realtà dicesse dove appariva. Quindi pochi programmi forniscono questo utile indizio.
Peter Flynn,

Vedi anche la domanda duplicata: stackoverflow.com/q/9119479/3328979 Risposte ci sono in qualche modo migliori di qui.
Arashsoft,

Risposte:


188

Sì, hai scaricato e installato Java Runtime Environment (JRE) invece di Java Development Kit (JDK). Quest'ultimo ha tools.jar, java.exe, javac.exe, ecc.


7
@olidev controlla questo ora ma non riesco ancora a smettere di evidenziare il problema !! Come può essere questa la tua risposta? Hai già detto che hai installato jdk e jre. In realtà sto affrontando un problema simile e continua ancora :-(. Devi sapere come hai fatto a funzionare ??
Mercenario

7
Aggiungi JAVA_HOME e la directory / bin al tuo percorso. Ti rendi conto che questa risposta ha due anni, giusto?
duffymo,

17
In Ubuntu: # apt-get install default-jdke l'errore scompare.
Xavi Montero,

2
Il tasto? JDK. Questo è ciò che ha gli strumenti. JRE no.
Duffymo,

2
Non necessariamente. Mi sembra che potrebbero essersi JAVA_HOMEfissati jreall'interno del jdkinvece che sul jdksé stesso.
ArtOfWarfare,

88

Nel caso in cui questo sia ancora un problema per chiunque, ho un po 'di chiarimenti sulle risposte precedenti. Stavo riscontrando questo stesso problema usando la formica con solo un JDK installato. Sebbene, il programma di installazione di JDK mi ha dato una struttura di directory come questa:

 Directory of C:\Program Files\Java

05/08/2012  09:43 AM    <DIR>          .
05/08/2012  09:43 AM    <DIR>          ..
05/08/2012  09:46 AM    <DIR>          jdk1.7.0_04
05/08/2012  09:19 AM    <DIR>          jre6
05/08/2012  09:44 AM    <DIR>          jre7
               0 File(s)              0 bytes

e quando ho eseguito formica, si è lamentato di non trovare tools.jar nella sottodirectory jre7. Non è stato fino a me set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"che l'errore è scomparso.


7
Questo. Grazie! (per quelli di noi che hanno varie versioni jre / jdk installate)
Daren Thomas,

ha funzionato per me..precedentemente ho dato il percorso con \ bin anche..questo era il problema
John

Grazie, vorrei poterti dare 2 aumenti!
Luca

38
  1. Installa Java SDK .

  2. Aggiungi una variabile di ambiente di sistema chiamata JAVA_HOME con il valore della posizione JDK.
    Vai a Pannello di controllo \ Sistema e sicurezza \ Sistema. Impostazioni di sistema avanzate, variabili di ambiente, variabili di sistema, Nuovo ... Esempio:
    Nome variabile: JAVA_HOME
    Valore variabile: C: \ Programmi \ Java \ jdk1.7.0_21

  3. Chiudi / riapri la finestra CMD in modo che la nuova variabile abbia effetto prima di tentare di rieseguire il comando ant.


4
La variabile JAVA_HOME ha risolto tutto, grazie mille :)
Krinn,

4
PATH con /bin , JAVA_HOME senza /bin
Daniel W.

1
Grazie, lo cercavo da ore per questo !!
kcho0,

1
Funziona come per incanto su Windows 8.1
Umar Abbas

LAVORO COME UN FASCINO !! GRAZIE
Heidi,


10

Imposta la tua JAVA_HOMEvariabile ambientale su cui puntare C:\Program Files\Java\jdk1.7.0_02.


10

Se sei in Linux puoi risolverlo installando java sul sistema:

sudo apt-get install openjdk-7-jdk openjdk-7-jre

Ovviamente, puoi usare 'sudo apt-get install openjdk-8-jdk openjdk-8-jre' per Java 8
schlenger,

7

No, in base alla struttura della directory, è stato installato un JRE, non un JDK. C'è una differenza

C:\Program Files\Java\jre6\lib
                      ^^^^

Dovrebbe essere qualcosa del tipo:

C:\Program Files\Java\jdk1.6.0_24

si hai ragione! ma come posso disinstallare jre? grazie in anticipo
olidev,

Start> Pannello di controllo> Software (o simile, a seconda della versione di Win *)
Sean Patrick Floyd,

ma non esiste alcuna opzione simile per rimuovere jre. Ho appena controllato!
olidev,

@Joesy OK, se non riesci a trovarlo, lascialo e basta, non è necessario disinstallarlo (tranne che per recuperare spazio su disco). Puoi avere molti JDK e / o JRE installati in parallelo
Sean Patrick Floyd,


5

Non passare troppo tempo a cercare tools.jar. Se ricevi un errore del genere, non essere arrabbiato.

Se hai già java JDK 1.5, vai alla tua libcartella e tools.jardovrebbe essere disponibile lì. Copialo e incollalo nella bincartella della formica , quindi prova a usare il comando ant -version.

Dovresti vedere il risultato atteso.


2
è consigliabile questo approccio?
S_M,

4

Ho avuto lo stesso problema su una macchina Linux. All'inizio ero piuttosto frustrato, perché ho installato sia JDK che JRE. Sto usando la versione 1.6, 1.7 e 1.8 contemporaneamente e ho giocato molto con le alternative per avere tutto impostato correttamente.

Il problema era abbastanza stupido da risolvere, ma controintuitivo. Mentre stavo usando il JDK corretto, ho prestato attenzione al percorso degli strumenti di cui si lamentava la giara degli strumenti - si aspettava che fosse

$JAVA_HOME\..\lib\tools.jar

La $JAVA_HOMEvariabile puntava direttamente alla mia jdkcartella ( /usr/local/javache era anche la $PATHvoce corretta e il link sym alternativo). Cerca effettivamente la libcartella fuori dalla directory java, perché:

$JAVA_HOME\..\lib\tools.jar

risolverà a

/usr/local/lib/tools.jar

e quella non è una posizione valida.

Per risolvere questo, la $JAVA_HOMEvariabile dovrebbe invece puntare a questa posizione /usr/local/java/jre(supponendo che il percorso JDK sia /usr/local/java) - in realtà c'è una jrecartella all'interno della directory di installazione JDK, che viene fornita con ogni JDK. Questa nuova configurazione farà in modo che Maven guardi alla directory JRE, che fa parte del JDK:

$JAVA_HOME\..\lib\tools

che ora si risolve in

/usr/local/java/jre/../lib/tools.jar

e infine a

/usr/local/java/lib/tools.jar

che è dove tools.jarrisiede davvero.

Quindi, anche se stai effettivamente usando il JDK invece del JRE, $ JAVA_HOME deve puntare al JRE. Ricorda, l'alternativa del sistema operativo dovrebbe comunque fare riferimento a JDK.


1
Ho avuto lo stesso problema con Windows, uso te risolto il mio problema.
Yigang Wu,

ho provato tutto questo e continuo a riscontrare il problema con tools.jar. Randoop vale la pena? Il significato genera test unitari decenti? La parte frustrante di questo è che OGNI altro programma java sul mio box di Windows funziona bene.
Mr Smith,

@MrSmith, Qual è il percorso che Randoop cerca quando ricevi l'errore. Forse Randoop ha la sua impostazione env che gli dice dove si trova il JRE? Inoltre, hai riaperto le finestre della shell (se in esecuzione dalla shell) dopo aver modificato le variabili env?
Ivaylo Slavov

3

vai al tuo percorso jdk in cui hai installato java

Ad esempio nel mio PC JDK installato nel seguente percorso

"C: \ Programmi \ Java \ jdk1.7.0_17 \";

Dopo vai alla cartella lib es. "C: \ Programmi \ Java \ jdk1.7.0_17 \ lib"

nella directory lib c'è il file tool.jar

Copia questo file e incollalo nel lib forlder della directory jre7 per es

"C: \ Programmi \ Java \ jre7 \ lib"


2

Ho avuto lo stesso problema anche dopo aver installato Java JDK e impostato JAVA_HOMEsulla ..\jdk1.6.0_45\bincartella.

Ant sta ancora cercando di trovare tools.jarnella C:\Program Files\Java\jre6\libcartella.
L'ho corretto aggiungendo JAVACMDla variabile di ambiente e impostando il percorso java.exenella jdkcartella.
Nel mio caso lo eraC:\Program Files\Java\jdk1.6.0_45\bin\java.exe


2

Potresti avere problemi simili su Ubuntu:

Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar

Il problema è con JAVA_HOME che non è impostato correttamente.

Quindi, su Ubuntu 14.04 x64 usando Java8:

sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

2

è stato risolto con me nel sistema operativo Windows impostando la variabile JAVA_HOME prima di eseguire come segue:

set JAVA_HOME = C: \ Programmi \ Java \ jdk1.8.0_111


Ho dovuto forzare questo. Ant 10+ sta cercando JDK in una variabile sconosciuta. Non sono riuscito a trovare dove si trovava il JDK, ma quando sono riuscito nella riga di comando e ho costretto JAVA HOME a funzionare.
Cummings,

2

Come molte persone hanno detto, sembra che tu stia cercando nel tuo JRE invece che nel JDK il file tools.jar.

Vorrei anche ricordare che nelle recenti versioni di JDK non esiste più il file tools.jar. Ho scaricato il JDK più recente a partire da oggi (JDK versione 12) e non sono riuscito a trovare alcun tools.jar. Ho dovuto scaricare JDK versione 8 (1.8.0) qui https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html per ottenere il file tools.jar. Ho scaricato quella versione, ho preso il file tools.jar e l'ho messo nella cartella lib della mia versione recente.


1

Assicurarsi che entrambi i percorsi% JAVA_HOME% e% JAVA_HOME% / bin vengano aggiunti alla variabile PATH.

Tutte le risposte sulla copia di tools.jar nella posizione corretta sono una cattiva idea nella migliore delle ipotesi.

Assicurati che il tuo IDE possa trovare questi vasetti nel modo in cui è stato progettato e progettato.


1

Nella finestra eclipse> preferenze> Java> JRE installato, ho indicato la directory nella directory jre in jdk 1.7 e ho lavorato il file per me ad esempio C: \ Programmi \ Java \ jdk1.7.0_71 \ jre


1

Ho avuto il mio JDK_path ( C:\Program Files\Java\jdk1.7.0_79) nel mio JAVA_HOMEe anche il JDK_path \ bin nel mioPATH . Ma ancora la mia formica stava usando il JRE invece del JDK.

Il problema era che avevo C:\ProgramData\Oracle\Java\javapathprima il mio JDK_path in PATHvariabile. Ho semplicemente spostato il mio percorso JDK prima dell'oracolo e il problema è stato risolto.


1

risolvendo questo problema ho semplicemente copiato il file tools.jar da C: \ Program Files \ Java \ jre1.8.0_112 \ lib in C: \ Program Files \ Java \ jdk1.8.0_112 \ lib in modo da avere due tools.jar file invece di uno e il problema è scomparso.


0
Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

se hai installato jdk allora

..Java/jdkx.x.x

la cartella deve esistere lì quindi in stallo e dare il percorso completo come

C:\Program Files\Java\jdk1.6.0\lib\tools.jar

0

Assicurati che il tuo percorso di classe sia impostato correttamente e che punti alla versione corretta del JDK che hai installato. Inoltre, stai usando Open JDK? Ho avuto questo problema prima dopo aver provato a passare da JDK aperto a JDK Suns. Questo è un esempio di come risolvere il problema.


0

maven-compilatore-plugin usa jdk, non jre, tools.jar è in C: \ Programmi \ Java \ jdk1.6.0 \ lib \ tools.jar devi configurare il progetto JRE System Libary con jdk, non jar. Questa è la soluzione più semplice.


0
  • Fare clic con il tasto destro sul file di formica
  • Vai su "Esegui come", quindi fai clic su "Ant Build ..."
  • Vai alla scheda "JRE"
  • Seleziona un JDK e non un JRE

0

Per me cosa funziona: ho scaricato una vecchia versione di Java 1.7

In realtà ho impostato il mio JAVA_HOME da C: / file di programma X86 / Java MA dopo aver installato la versione 1.7 avevo un altro Java in file di programma / Java. E in questo momento ho trovato tools.jar qui. Poi ho cambiato per questo nuovo percorso e sta funzionando


0

Stavo anche affrontando lo stesso errore. Questo è stato rimosso dopo aver impostato il percorso Java_Home su C: \ Programmi \ Java \ jdk1.8.0_121. Assicurati che bin non sia incluso nel percorso e che non vi siano barre dopo jdk1.8.0_121 dopo aver definito% JAVA_HOME% \ bin nella variabile del percorso di sistema.


0

Se ti trovi in ​​un ambiente RHEL, il nome del pacchetto contenente tools.jar terminerebbe con "openjdk-devel".


0

Questa è la soluzione per Windows: in Computer> Impostazioni di sistema avanzate> Avanzate> Variabili d'ambiente ... , aggiungi questo in Variabili di sistema :

inserisci qui la descrizione dell'immagine


0

Ho scaricato tools.jar e successivamente l'ho copiato nel percorso nel messaggio di errore.

C: \ Programmi \ Java \ jdk-11.0.1 \ bin> incolla qui tools.jar

Dopo di che ho riavviato Spring Tool Suit 4 e tutto funzionava. Quando stavo cercando di risolvere quel problema, ho creato una nuova variabile ambientale: Pannello di controllo / Sistema / Avanzate / Variabili ambientali / nuovo nome: JAVA_HOME Valore: C: \ Programmi \ Java \ jdk-11.0.1 Ma non lo so è è necessario.


0

forse hai aggiornato i JRE nel sistema operativo e l'aggiunta ha aggiunto nel "percorso" delle variabili di ambiente una voce "... / Oracle / jer" che sovrascrive il tuo JAVA_HOME. prova a rimuoverlo dal "percorso" lasciando JAVA_HOME.


0

Nel caso in cui aiuti, il problema per me era che avevo 2 voci nella mia variabile d'ambiente PATH che indicava un percorso contenente l'eseguibile javaw.

Ho ripulito la variabile per assicurarmi che "% JAVA_HOME% \ bin" fosse l'unica voce che fa riferimento a una posizione contenente i miei eseguibili java.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.