Java'da bir proje yapıyorum.
Bu hatayı aldım:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Bir JDK yükledim ve klasör: C:\Program Files\Java\jre6\lib
sistemimde ancak dosya tools.jar
orada değil.
Java'da bir proje yapıyorum.
Bu hatayı aldım:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Bir JDK yükledim ve klasör: C:\Program Files\Java\jre6\lib
sistemimde ancak dosya tools.jar
orada değil.
Yanıtlar:
Evet, Java Geliştirme Kiti (JDK) yerine Java Çalışma Zamanı Ortamı'nı (JRE) indirip yüklediniz. İkincisi tools.jar, java.exe, javac.exe vb.
# apt-get install default-jdk
ve hata kaybolur.
JAVA_HOME
onların jre
içine girmiş gibi görünüyor . jdk
jdk
Bunun hala herkes için bir sorun olması durumunda, önceki cevaplar hakkında biraz açıklığa sahibim. Ben sadece JDK yüklü karınca kullanarak aynı sorunu çalıştırıyordu. JDK yükleyici bana böyle bir dizin yapısı verdi:
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
ve ben karınca koştu zaman, jre7 alt dizini altında tools.jar bulmak şikayet etti. Ben set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"
hata ortadan kalkıncaya kadar değildi .
Java SDK'sını yükleyin .
JDK konumu değeriyle JAVA_HOME adlı bir Sistem Ortamı Değişkeni ekleyin .
Denetim Masası \ Sistem ve Güvenlik \ Sistem'e gidin. Gelişmiş Sistem Ayarları, Ortam Değişkenleri, Sistem Değişkenleri, Yeni ... Örnek:
Değişken Adı: JAVA_HOME
Değişken Değeri: C: \ Program Files \ Java \ jdk1.7.0_21
Ant komutunu yeniden çalıştırmayı denemeden önce yeni değişkenin etkili olması için CMD pencerenizi kapatın / yeniden açın.
PATH
ile /bin
, JAVA_HOME
olmadan /bin
Aynı problemi yaşadım ve kopyalamak benim C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
için C:\Program Files\Java\jre6\lib\ext
çalıştı
Hayır, dizin yapınıza göre JDK değil JRE yüklediniz. Bir fark var.
C:\Program Files\Java\jre6\lib
^^^^
Bunun gibi bir şey olmalı:
C:\Program Files\Java\jdk1.6.0_24
JDK 9.0.1 yüklediyseniz, tools.jar kullanımdan kaldırıldığı için bu sorunu da yaşarsınız. Taşıma belgesine bakın .
Aramak için çok fazla zaman harcamayın tools.jar
. Böyle bir hata alırsanız üzülmeyin.
Java JDK 1.5'iniz varsa, lib
klasörünüze gidin ve tools.jar
orada bulunmalıdır. Karınca bin
klasörünüze kopyalayıp yapıştırın , ardından komutu kullanmayı deneyin ant -version
.
Beklenen sonucu görmelisiniz.
Aynı sorunu bir linux makinesinde de yaşadım. İlk başta oldukça sinirliydim, çünkü hem JDK'yı hem de JRE'yi kurdum. Sürüm 1.6, 1.7 ve 1.8'i aynı anda kullanıyorum ve her şeyin düzgün bir şekilde ayarlanması için alternatiflerle çok oynadım.
Sorun çözülmesi oldukça aptalca, ancak sezgiseldi. Doğru JDK'yı kullanırken, jar maven'in şikayet ettiği araçların yoluna dikkat ettim - olmasını bekliyordum
$JAVA_HOME\..\lib\tools.jar
$JAVA_HOME
Değişken benim doğrudan işaret jdk
(klasöre /usr/local/java
de doğruydu $PATH
giriş ve alternatif sym link). Aslında java dizininin dışındakilib
klasörü arar , çünkü:
$JAVA_HOME\..\lib\tools.jar
çözecek
/usr/local/lib/tools.jar
ve bu geçerli bir konum değil.
Bunu çözmek için, $JAVA_HOME
değişken /usr/local/java/jre
(JDK yolunun olduğu varsayılarak) bu konuma işaret etmelidir /usr/local/java
- aslında jre
JDK kurulum dizininin içinde, her JDK ile birlikte gelen klasör vardır . Bu yeni kurulum, maven'in JDK'nın bir parçası olan JRE dizinine bakmasına neden olacaktır:
$JAVA_HOME\..\lib\tools
şimdi çözüyor
/usr/local/java/jre/../lib/tools.jar
ve son olarak
/usr/local/java/lib/tools.jar
burası tools.jar
gerçekten ikamet ediyor.
Yani, siz bile JRE yerine JDK kullanıyorsunuz, $ JAVA_HOME'un JRE'yi göstermesi gerekiyor. Unutmayın, işletim sistemi alternatifi hala JDK'ya başvurmalıdır.
java'nızı kurduğunuz jdk yolunuza gidin
Örneğin, benim bilgisayarımda JDK aşağıdaki yolda yüklü
"C: \ Program Files \ Java \ jdk1.7.0_17 \";
Sonra lib klasörüne gidin, örneğin "C: \ Program Files \ Java \ jdk1.7.0_17 \ lib"
lib dizininde tool.jar dosyası var
Bu dosyayı kopyalayın ve örneğin jre7 dizininin lib forlder dosyasında geçirin.
"C: \ Program Dosyaları \ Java \ jre7 \ lib"
Hatta Java JDK yükleme ve seti sonrasında aynı problem vardı JAVA_HOME
için ..\jdk1.6.0_45\bin
klasör.
Ant hala bulmaya çalışıyor tools.jar
içinde C:\Program Files\Java\jre6\lib
klasöründe. Ortam değişkeni
ekleyerek ve klasörde JAVACMD
yolunu ayarlayarak düzelttim .
Benim durumumdajava.exe
jdk
C:\Program Files\Java\jdk1.6.0_45\bin\java.exe
Ubuntu'da benzer bir sorunla karşılaşabilirsiniz:
Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Sorun düzgün ayarlanmamış JAVA_HOME ile ilgili.
Java8 kullanan Ubuntu 14.04 x64'te:
sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
aşağıdaki gibi çalıştırmadan önce JAVA_HOME değişkeni ayarlanarak Windows işletim sisteminde benimle çözüldü:
set JAVA_HOME = C: \ Program Dosyaları \ Java \ jdk1.8.0_111
Birçok kişinin belirttiği gibi, tools.jar dosyası için JDK yerine JRE'nize baktığınız anlaşılıyor.
Ayrıca, JDK'nın son sürümlerinde, daha fazla tools.jar dosyası olmadığını belirtmek isterim. Bugün itibariyle en son JDK'yı indirdim (JDK sürüm 12) ve herhangi bir tools.jar bulamadım. Tools.jar dosyasını almak için https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html buradan JDK sürüm 8'i (1.8.0) indirmek zorunda kaldım . Bu sürümü indirdim, tools.jar dosyasını aldım ve son sürümümün lib klasörüne koydum.
PATH değişkeninize hem% JAVA_HOME% hem de% JAVA_HOME% / bin yollarının eklendiğinden emin olun.
Kopyalama araçları ile ilgili tüm cevaplar. Jar en iyi ihtimalle kötü bir fikirdir.
IDE'nizin bu kavanozları tasarlandığı ve tasarlandığı şekilde bulabildiğinden emin olun.
Tutulma penceresinde> tercihler> Java> Yüklü JRE'de, dizini jdk 1.7'deki jre dizinine işaret ettim ve benim için çalıştım, örneğin C: \ Program Files \ Java \ jdk1.7.0_71 \ jre
Benim JDK_path ( C:\Program Files\Java\jdk1.7.0_79
) benim JAVA_HOME
ve ayrıca JDK_path \ bin benim PATH
. Ama yine de karıncalarım JDK yerine JRE kullanıyordu.
Sorun C:\ProgramData\Oracle\Java\javapath
benim PATH
değişken JDK_path önce vardı . JDK_yolumu kehanetten önce taşıdım ve sorun çözüldü.
Bu sorunu çözme Tools.jar dosyasını C: \ Program Files \ Java \ jre1.8.0_112 \ lib'den C: \ Program Files \ Java \ jdk1.8.0_112 \ lib'den kopyaladım, böylece iki araçım var. bir yerine dosyalar ve sorun kayboldu.
Benim için ne işe yarıyor: Java 1.7'nin eski bir sürümünü indirdim
Aslında CAVA_HOME benim C: / program dosyaları X86 / Java ayarlayın ama 1.7 sürümünü yükledikten sonra program dosyaları / Java başka bir Java vardı. Ve şu anda tools.jar dosyasını buldum. Sonra bu yeni yol için değiştim ve işe yarıyor
Aynı hatayla da karşılaşıyordum. Bu, Java_Home yolu C: \ Program Files \ Java \ jdk1.8.0_121 olarak ayarlandıktan sonra kaldırıldı. Lütfen sistem yol değişkeninde% JAVA_HOME% \ bin tanımladıktan sonra bin'in yola dahil olmadığından ve jdk1.8.0_121'den sonra eğik çizgi olmadığından emin olun.
RHEL ortamındaysanız tools.jar içeren paket adı "openjdk-devel" ile biter.
Tools.jar'ı indirdim ve bundan sonra hata mesajındaki yola kopyaladım.
C: \ Program Dosyaları \ Java \ jdk-11.0.1 \ bin> buraya yapıştır tools.jar
Bundan sonra Spring Tool Suit 4'ü yeniden başlattım ve her şey çalışıyordu. Bu sorunu düzeltmeye çalışırken yeni çevresel değişken yaptım: Denetim Masası / Sistem / Gelişmiş / Çevre değişkenleri / yeni Ad: JAVA_HOME Değer: C: \ Program Files \ Java \ jdk-11.0.1 Ama bilmiyorum gerekli.