tools.jar을 찾을 수 없습니다


182

Java로 프로젝트를 작성 중입니다.

이 오류가 있습니다.

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

JDK와 폴더를 설치했습니다 : C:\Program Files\Java\jre6\lib시스템에 있지만 파일 tools.jar이 없습니다.


도구는 JRE가 아닌 JDK에 속한다고 생각합니다. 그렇지 않습니까? C : \ Program Files \ Java \ jdk1.6.0_24 \ lib
Edwin Dalorzo

4
제게도, 제가 놀랍게 생각하는 것은 프로그램이 실제로 어디에서 보이는지를 말한 것입니다. 이 유용한 단서를 제공하는 프로그램은 거의 없습니다.
피터 플린

또한 중복 질문을 참조하십시오 : stackoverflow.com/q/9119479/3328979 여기에 어떻게 든 더 나은 답변이 있습니다.
Arashsoft

답변:


188

예, Java Development Kit (JDK) 대신 JRE (Java Runtime Environment)를 다운로드하여 설치했습니다. 후자는 tools.jar, java.exe, javac.exe 등이 있습니다.


7
@olidev는 이것을 지금 확인하지만 여전히 문제를 지적하는 것을 멈출 수 없습니다 !! 이것이 어떻게 대답이 될 수 있습니까? jdk 및 jre를 설치했다고 이미 언급했습니다. 나는 실제로 비슷한 문제에 직면하고 있으며 여전히 계속됩니다 :-(. 어떻게 작동하는지 알아야합니까 ??
용병

7
JAVA_HOME 및 / bin 디렉토리를 경로에 추가하십시오. 이 대답이 2 살이라는 것을 알고 있습니까?
duffymo

17
우분투에서 : # apt-get install default-jdk오류가 사라집니다.
Xavi Montero 2019

2
열쇠? JDK. 그것이 도구가있는 것입니다. JRE는 그렇지 않습니다.
duffymo

2
반드시 그런 것은 아닙니다. 그들이 스스로 가 아니라 내부로 JAVA_HOME설정 되었을 것 같습니다 . jrejdkjdk
ArtOfWarfare

88

이것이 여전히 누구에게나 문제가되는 경우 이전 답변에 약간의 설명이 있습니다. JDK 만 설치된 ant를 사용하여 동일한 문제가 발생했습니다. JDK 설치 프로그램은 다음과 같은 디렉토리 구조를 제공했습니다.

 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

그리고 개미를 실행했을 때 jre7 하위 디렉토리에서 tools.jar를 찾지 못하는 것에 대해 불평했습니다. set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"오류가 사라질 때까지는 아니 었 습니다.


7
이. 감사! (다양한 JRE를 가지고 사람들을 위해 / JDK 버전 설치)
다렌 토마스

그것은 나를 위해 일했다.. 이전에 나는 또한 \ bin으로 경로를 주었다.. 그것이 문제였다
John

고마워, 나는 당신에게 2 ups를 줄 수 있으면 좋겠다!
Luke

38
  1. Java SDK를 설치하십시오 .

  2. JDK 위치 값으로 JAVA_HOME 이라는 시스템 환경 변수를 추가하십시오 .
    제어판 \ 시스템 및 보안 \ 시스템으로 이동하십시오. 고급 시스템 설정, 환경 변수, 시스템 변수, 새로 만들기 ... 예 :
    변수 이름 : JAVA_HOME
    변수 값 : C : \ Program Files \ Java \ jdk1.7.0_21

  3. ant 명령을 다시 실행하기 전에 새 변수가 적용되도록 CMD 창을 닫거나 다시여십시오.


4
JAVA_HOME 변수 고정 모든, 덕분에 많이 :)
krinn

4
PATH with with /bin , JAVA_HOME without /bin
Daniel W.

1
고마워, 나는 이것을 몇 시간 동안 찾고 있었다!!
kcho0

1
Windows8.1에서 매력처럼 작동
Umar Abbas

맘에 드는 일처럼 !! 감사
Heidi

28

나는 같은 문제가 있었고 복사 C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar C:\Program Files\Java\jre6\lib\ext 나를 위해 일했다.


4
해당 클래스가 아닌 클래스로 로컬 설치를 오염 시키면 Works on my machine 증후군이 발생할 수 있습니다. 공식적인 빌드 프로세스가있는 경우에도 마찬가지입니다. tools.jar. JDK에서 도구 및 유틸리티를 지원하기위한 비 핵심 클래스를 포함합니다.
real_paul

10

JAVA_HOME환경 변수가를 가리 키도록 설정하십시오 C:\Program Files\Java\jdk1.7.0_02.


10

Linux를 사용하는 경우 시스템에 java를 설치하여이 문제를 해결할 수 있습니다.

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

분명히, 당신은 Java 8에 대해 'sudo apt-get install openjdk-8-jdk openjdk-8-jre'를 사용할 수 있습니다
schlenger

7

아니요, 디렉토리 구조에 따라 JDK가 아닌 JRE를 설치했습니다. 차이가 있습니다.

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

다음과 같아야합니다.

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

네, 맞아요! 하지만 jre를 어떻게 제거 할 수 있습니까? 미리 감사드립니다
olidev

시작> 제어판> 소프트웨어 (또는 Win * 버전에 따라 유사)
Sean Patrick Floyd

그러나 jre를 제거하는 옵션은 없습니다. 방금 확인했습니다!
olidev

@Joesy 좋아요, 찾을 수 없으면 그대로 두십시오. 디스크 공간 복구를 제외하고는 제거 할 필요가 없습니다. 많은 JDK 및 / 또는 JRE를 병렬로 설치할 수 있습니다.
Sean Patrick Floyd


5

를 찾는 데 너무 많은 시간을 소비하지 마십시오 tools.jar. 그런 오류가 발생하면 화 내지 마십시오.

Java JDK 1.5가 이미있는 경우 lib폴더 로 이동하면 해당 폴더 tools.jar가 제공됩니다. 그것을 개미 bin폴더 에 복사하여 붙여 넣은 다음 명령을 사용해보십시오 ant -version.

예상 결과가 나타납니다.


2
이 방법이 권장됩니까?
S_M

4

나는 리눅스 머신에서 같은 문제가 있었다. JDK와 JRE를 모두 설치했기 때문에 처음에는 매우 좌절했습니다. 1.6, 1.7 및 1.8 버전을 동시에 사용하고 있으며 모든 것이 올바르게 설정되도록 대안을 많이 사용했습니다.

이 문제는 해결하기에는 어리석지 만 직관적이지 않습니다. 올바른 JDK를 사용하는 동안 jar maven이 불평 한 도구의 경로에주의를 기울였습니다.

$JAVA_HOME\..\lib\tools.jar

$JAVA_HOME변수는 내 직접 지적 jdk(폴더 /usr/local/java또한 정확 $PATH항목 및 대체 SYM 링크). 실제로 java 디렉토리 외부lib폴더를 검색합니다 .

$JAVA_HOME\..\lib\tools.jar

~에 해결 될 것이다

/usr/local/lib/tools.jar

올바른 위치가 아닙니다.

이를 해결하려면 $JAVA_HOME변수가 대신이 위치를 가리켜 야합니다 /usr/local/java/jre(JDK 경로가 있다고 가정 /usr/local/java). 실제로 jreJDK 설치 디렉토리 내에 각 JDK와 함께 제공되는 폴더가 있습니다. 이 새로운 설정으로 인해 maven은 JDK의 일부인 JRE 디렉토리를 보게됩니다.

$JAVA_HOME\..\lib\tools

이제는

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

그리고 마지막으로

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

그것이 tools.jar실제로 상주 하는 곳 입니다.

따라서 실제로 JRE 대신 JDK를 사용하는 사용자도 $ JAVA_HOME은 JRE를 가리켜 야합니다. OS 대안은 여전히 ​​JDK를 참조해야합니다.


1
Windows와 동일한 문제가 발생하여 내 문제를 해결했습니다.
Yigang Wu

나는이 모든 것을 시도했지만 여전히 tools.jar에 문제가 있습니다. Randoop은 그만한 가치가 있습니까? 의미있는 단위 테스트를 생성합니까? 이것의 좌절스러운 부분은 내 Windows 상자의 다른 모든 Java 프로그램이 제대로 작동한다는 것입니다.
Mr Smith Mr

@MrSmith, 오류가 발생했을 때 Randoop이 찾는 경로는 무엇입니까? Randoop에는 JRE의 위치를 ​​알려주는 자체 env 설정이 있습니까? 또한 env 변수를 변경 한 후 쉘 창을 다시 열었습니까 (쉘에서 실행중인 경우)?
Ivaylo Slavov

3

Java를 설치 한 jdk 경로로 이동하십시오.

예를 들어 PC에서 JDK는 다음 경로에 설치됩니다.

"C : \ Program Files \ Java \ jdk1.7.0_17 \";

lib 폴더로 이동 한 후 "C : \ Program Files \ Java \ jdk1.7.0_17 \ lib"

lib 디렉토리에는 tool.jar 파일이 있습니다.

이 파일을 복사하여 jre7 디렉토리의 lib forlder에 붙여 넣습니다.

"C : \ Program Files \ Java \ jre7 \ lib"


2

Java JDK를 설치 JAVA_HOME하고 ..\jdk1.6.0_45\bin폴더로 설정 한 후에도 동일한 문제가 발생했습니다 .

개미는 여전히 찾으려고 tools.jarC:\Program Files\Java\jre6\lib폴더. 환경 변수
를 추가 하고 폴더 에 JAVACMD경로를 설정 하여 수정했습니다 . 내 경우에는java.exejdk
C:\Program Files\Java\jdk1.6.0_45\bin\java.exe


2

우분투에서도 비슷한 문제가 발생할 수 있습니다.

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

JAVA_HOME에 문제가 있으며 올바르게 설정되지 않았습니다.

따라서 Java8을 사용하는 Ubuntu 14.04 x64에서 :

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

2

다음과 같이 실행하기 전에 JAVA_HOME 변수를 설정하여 Windows OS에서 나와 함께 해결되었습니다.

JAVA_HOME = C : \ Program Files \ Java \ jdk1.8.0_111 설정


나는 이것을 강요했다. Ant 10+는 알려지지 않은 변수에서 JDK를 찾고 있습니다. 나는 그것이 JDK를 얻는 곳을 찾을 수 없었지만 명령 줄에서 JAVA HOME을 강요했을 때 효과적이었다.
Cummings

2

많은 사람들이 언급했듯이 tools.jar 파일의 JDK 대신 JRE를 찾고있는 것처럼 보입니다.

또한 최신 버전의 JDK에는 더 이상 tools.jar 파일이 없습니다. 오늘 (JDK 버전 12) 현재 최신 JDK를 다운로드했으며 tools.jar을 찾을 수 없습니다. tools.jar 파일을 가져 오려면 여기에서 JDK 버전 8 (1.8.0)을 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 로 다운로드해야 합니다. 해당 버전을 다운로드하고 tools.jar 파일을 가져 와서 최신 버전의 lib 폴더에 넣었습니다.


1

% JAVA_HOME % 및 % JAVA_HOME % / bin 경로가 모두 PATH 변수에 추가되었는지 확인하십시오.

tools.jar를 올바른 위치에 복사하는 것에 대한 모든 대답은 좋지 않습니다.

IDE가 이러한 항아리를 설계 및 의도 된 방식으로 찾을 수 있는지 확인하십시오.


1

이클립스 창> 환경 설정> Java> 설치된 JRE에서 디렉토리를 jdk 1.7의 jre 디렉토리로 지정하고 C : \ Program Files \ Java \ jdk1.7.0_71 \ jre와 같은 파일을 작업했습니다.


1

내 JDK_path ( C:\Program Files\Java\jdk1.7.0_79)가 있고 내 JAVA_HOMEJDK_path \ bin도있었습니다 PATH. 그러나 여전히 내 개미는 JDK 대신 JRE를 사용하고있었습니다.

문제는 C:\ProgramData\Oracle\Java\javapathJDK_path 앞에 PATH변수가 있다는 것입니다. 나는 오라클 JDK_path를 오라클 이전으로 옮기고 문제가 해결되었습니다.


1

이 문제를 해결하기 위해 간단히 tools.jar 파일을 C : \ Program Files \ Java \ jre1.8.0_112 \ lib에서 C : \ Program Files \ Java \ jdk1.8.0_112 \ lib로 복사하여 두 개의 tools.jar을 만들었습니다. 하나 대신 파일과 문제가 사라졌습니다.


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

jdk를 설치 한 경우

..Java/jdkx.x.x

폴더가 있어야하므로 실속에 있어야하며 전체 경로를 지정하십시오.

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

0

클래스 경로가 올바르게 설정되어 있고 올바른 JDK 버전을 가리키고 있는지 확인하십시오. 또한 Open JDK를 사용하고 있습니까? 열린 JDK에서 Suns JDK로 이동하려고 시도한 후이 문제가 발생했습니다. 문제를 해결하는 방법의 예입니다.


0

maven-compiler-plugin jj가 아닌 jdk를 사용하십시오. tools.jar은 C : \ Program Files \ Java \ jdk1.6.0 \ lib \ tools.jar에 있으며 jar가 아닌 jdk로 프로젝트 JRE 시스템 라이브러리를 구성해야합니다. 이것이 가장 간단한 해결책입니다.


0
  • 개미 파일을 마우스 오른쪽 버튼으로 클릭
  • "다음 계정으로 실행"으로 이동 한 다음 "Ant Build ..."를 클릭하십시오.
  • "JRE"탭으로 이동
  • JRE가 아닌 JDK를 선택하십시오.

0

나를 위해 작동하는 것 : 이전 버전의 Java 1.7을 다운로드했습니다.

실제로 1.7 버전을 설치 한 후 C : / program files X86 / Java BUT에서 JAVA_HOME을 설정했지만 프로그램 파일 / Java에 다른 Java가 있습니다. 그리고 지금이 순간에 tools.jar를 찾았습니다. 그런 다음이 새로운 길로 바뀌었고 효과가 있습니다.


0

나는 또한 같은 오류에 직면했다. Java_Home 경로를 C : \ Program Files \ Java \ jdk1.8.0_121로 설정 한 후에 제거되었습니다. bin이 경로에 포함되어 있지 않고 시스템 경로 변수에 % JAVA_HOME % \ bin을 정의한 후 jdk1.8.0_121 뒤에 슬래시가 없는지 확인하십시오.


0

RHEL 환경에있는 경우 tools.jar를 포함하는 패키지 이름은 "openjdk-devel"으로 끝납니다.


0

이것은 Windows 용 솔루션입니다 : 컴퓨터> 고급 시스템 설정> 고급> 환경 변수 ... 에서 시스템 변수 에 이것을 추가하십시오 :

여기에 이미지 설명을 입력하십시오


0

tools.jar를 다운로드 한 후 오류 메시지의 경로로 복사했습니다.

C : \ Program Files \ Java \ jdk-11.0.1 \ bin> 여기에 paste.tools.jar

그 후 Spring Tool Suit 4를 다시 시작했으며 모든 것이 작동했습니다. 그 문제를 해결하려고 할 때 새로운 환경 변수를 만들었습니다 : 제어판 / 시스템 / Advenced / 환경 변수 / 새로운 이름 : JAVA_HOME 값 : C : \ Program Files \ Java \ jdk-11.0.1 그러나 나는 모르겠습니다. 필요합니다.


0

OS에서 JRE를 업데이트했을 때 환경 변수의 "경로"에 JAVA_HOME을 덮어 쓰는 항목 "... / Oracle / jer"가 추가되었습니다. JAVA_HOME을 떠나 "경로"에서 제거하십시오.


0

그것이 도움이된다면, 문제는 PATH 환경 변수에 javaw 실행 파일이 포함 된 위치를 가리키는 2 개의 항목이 있다는 것입니다.

변수를 정리하여 "% JAVA_HOME % \ bin"이 Java 실행 파일이 포함 된 위치를 참조하는 유일한 항목인지 확인했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.