Gradle은 tools.jar를 찾을 수 없습니다.
gradle에서 javadoc doclets를 사용하고 있기 때문에 jdk(내 경우는 1.6.0_26)의 lib 폴더에 있는 tools.jar 패키지를 사용해야 합니다.
요점은 gradle은 자동으로 취득하지 않기 때문에 그 툴 패키지를 libs 폴더에 추가한 후 dependencies.gradle에 추가합니다.
이제 JDK에서 Dependencies.gradle로 직접 가져갑니다.그렇게 할 수 있는 방법이 있나요?나는 나의 의존관계에서 다음을 시도했다.gradle:
compile files("${System.properties['java.home']}/lib/tools.jar")
그러나 컴파일 중에는 찾을 수 없습니다.
CLI에서 명령어를 실행하려고 할 때 이 문제가 발생했습니다.
JRE 폴더를 보는 시스템에서 문제가 발생했습니다. D:\Program Files\Java\jre8\bin
에 보면 Tools.jar
이 에러가 발생하고 있습니다.
'로 가면 좋을지'를 요.JDK
D:\Program Files\Java\jdk1.8.0_11
하면, 「」를 참조해 주세요lib
「디렉토리」가 됩니다.Tools.jar
.
가 한 .JAVA_HOME
다음과 같습니다.
다음 하여 JAVA_PATH_PATH_JAVA_JAVA_JAVA를 .,, 즉.%JAVA_HOME%/bin;
명령 프롬프트를 다시 열어서 실행해야 합니다.
찾았다.시스템 속성 '자바'home'은 JAVA_가 아닙니다.HOME 환경 변수.JAVA_HOME은 JDK를 가리킵니다.홈 포인트는 JRE입니다.상세한 것에 대하여는, 이 페이지를 참조해 주세요.
Soo... 제 문제는 시작점이 생각대로 jdk 폴더(C:\jdk1.6.0_26\jre)가 아니라 jre 폴더(C:\jdk1.6.0_26\jre)였다는 것입니다(tools.jar는 C:\jdk1.6.0_26\lib 폴더에 있습니다).dependencies.gradle의 컴파일 행은 다음과 같습니다.
compile files("${System.properties['java.home']}/../lib/tools.jar")
그래들 태스크를 실행하려다 이클립스를 사용했을 때도 같은 오류가 발생했습니다.명령어(즉, 전쟁)를 실행할 때마다 프로세스에서 다음과 같은 예외가 발생합니다.
tools.jar를 찾을 수 없습니다.C:\Program Files\Java\Jre8"이 유효한 JDK 설치인지 확인하십시오.
이 투고에 기재되어 있는 솔루션을 시험해 보았습니다만, 어느 것도 이 문제를 해결하지 못했습니다.여기 내 솔루션이 있습니다.
- "작업 세분화" 보기로 이동합니다.
- 실행할 작업을 마우스 오른쪽 버튼으로 클릭합니다.
- 그래들 실행 구성 열기 선택
- "Java Home" 탭에서 로컬 JDK 저장소를 선택하고 확인을 클릭합니다.
다시 뛰어요, 즐기세요!
방방 a a a a a a a a a를 했습니다.gradle.properties
다음과 같이 합니다.
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
Ubuntu에서도 비슷한 사례가 있었습니다.기계에는 JRE만 설치되어 있었습니다.JDK를 설치하기 위해 아래 명령을 실행했습니다.
sudo apt install openjdk-8-jdk
MacOS Big Sur의 경우
'''가 원인이 발생합니다.JAVA_HOME
Sur.macOS Big Sur에서 않습니다.
- 1단계 - 1단계에 가 있는지 합니다.JAVA_HOME
이치노대부분의 경우 빈 문자열을 얻을 수 있습니다.
echo $JAVA_HOME
순서 2 - 기계에서 올바른 경로 찾기
/usr/libexec/java_home -V
, 「 8를 카피합니다.이 패스는 「Java SE 8」이라고 하는 입니다./Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
3 - 3 - 편집.zshenv
를 사용합니다.nano
nano ~/.zshenv
스텝 4 - 스텝2 에서 파일에의 패스를 다음과 같이 추가합니다.
export JAVA_HOME=YOUR_JAVA_PATH
예:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
5 - 된 「」5 - 「」의 .zshenv
environment variable (를 활성화하는 파일)
source ~/.zshenv
순서 6 - 인쇄하여 경로를 확인합니다.
echo $JAVA_HOME
저도 이 솔루션을 위해 고군분투하고 있었습니다.그래들과 함께 더 나은 방법을 찾았습니다.JVM/JDK 정보는 Gradle 자체에서 얻을 수 있습니다.
dependencies {
runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}
아주 간단합니다.
CentOS7에서는 개발 패키지에 tools.jar가 설치됩니다.파일이 java-1.8.0-openjdk에 없습니다.
sudo yum install java-1.8.0-openjdk-devel
을 더하면 됩니다.gradle.properties
:
org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_91
Centos 7에서는 JDK만이, JRE에는 없는 것을 알 수 있었습니다.Java 8 JRE 를 인스톨 하고 있습니다(yum install java-1.8.0-openjdk
JDK( the외)는 )yum install java-1.8.0-openjdk-devel
를 참조해 주세요.
후자를 설치하면 문제가 해결됩니다. 「 」, 「 」의 말아 주세요.JAVA_HOME
.
Mac용 솔루션:
gradle.properties
:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
이거 말고:
org.gradle.java.home=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
홈 열 수 있습니다.이 디렉토리에는, 「」, 「」, 「」가 없습니다.lib/tools.jar
존재하므로 하십시오.JavaVirtualMachines/jdk1.8.0_271.jdk
나한테는 효과가 있어
는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.$JAVA_HOME
두 번째 경로가 아닌 첫 번째 경로가 있기 때문에 그래들이 제대로 작동하지 않는 것 같습니다.
2년은 늦었지만, 최근 같은 문제에 부딪혔고, 이 글을 읽고 이렇게 해결했습니다.
import javax.tools.ToolProvider
dependencies {
compile (
files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
...
}
}
java라면 동작합니다.home은 JDK 디렉토리 아래에 없는 디렉토리를 가리키며, Mac OS에도 tools.jar 대신 class.jar가 있는 디렉토리를 가리킵니다.
Windows 10 에서는, 같은 문제가 발생해, 다음과 같이 문제를 해결했습니다.
- ★★
Advance System Settings>Environment Variables>System Variables
- PATH를 선택하여 기본값을 덮어씁니다.
C:\ProgramData\Oracle\Java\javapath
- JAVA_라는 자체 jdk 설치 시홈=
C:\Program Files\Java\jdk1.8.0_162
10,.83.,4.에는 Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1)이 .tools.jar
JRE 디렉토리(C:\Program Files\Java\jre1.8.0_171
를 참조해 주세요.
제가 찾은 은 하만,, 는그 however however however however however however however however however however 。C:\Program Files\Android\Android Studio\jre\lib
설정을 시도했습니다.
(나한텐) 좋아!
이 문제를 해결한 것은 다음과 같습니다.
- C:\Program Files\에서 tools.jar를 찾았습니다.안드로이드\Android Studio\jre\lib
- C:\Program Files(x86)\Java\jre1.8.0_271\lib에 복사 붙여넣기
- 코드를 다시 실행했고 작동했어요
때 이 할 수 .gradle.properties
삭제:
org.gradle.java.home=/usr/local/android-studio/jre
리눅스
./etc/environment
nano 또는 gedit와 같은 텍스트 편집기에서 다음 행을 추가합니다.
JAVA_HOME="/usr/lib/jvm/open-jdk"
창문들
- 시스템 제어판 애플릿을 시작합니다([시작] - [설정] - [컨트롤 패널]- [시스템]).
- [상세설정] 탭을 선택합니다.
- [ Environment Variables ]버튼을 클릭합니다.
[ System Variables ]그래서 [Add]버튼을 클릭하여 다음 행을 넘깁니다.
" " "로 설정합니다.
JAVA_HOME
[ Value ] : [ ] :
C:\Program Files\Java\jdk1.x.x_xxx
서 ''는
x.x_xxx
수 .C:\Program Files\Java
시스템 변수에서 경로를 선택한 다음 편집을 클릭하고 새 단추를 클릭한 다음 다음 줄을 지나십시오.
%JAVA_HOME%/bin;
이 방법은 효과가 있었습니다.
나는 메시지를 받고 있었다.
작업 ':app:compileDebugJavaWithJavac'을(를) 실행하지 못했습니다.
tools.jar를 찾을 수 없습니다.C:\Program Files\Java\jre1.8.0_121 에 유효한 JDK 인스톨이 포함되어 있는 것을 확인해 주세요.
- Android Studio에서 SDK 위치를 확인합니다.
- 파일, 프로젝트 구조, SDK 위치, JDK 위치.
- 예:C:\android-studio\android-studio\jre
- C:\android-studio\android-studio\jre\lib 폴더에 있는 tools.jar 파일을 C:\Program Files\Java\jre1.8.0_121\lib 폴더에 복사합니다.
- 재시도.
다른 답변과 마찬가지로 gradle.properties 파일에 org.gradle.java.home 속성을 설정합니다.그러나 \ 구분자를 사용하는 경로가 작동하지 않았습니다(Windows 10에서 빌드).
'org.gradle.java.home'을 통해 제공된 Java 홈이 잘못되었습니다.유효하지 않은 디렉토리: C:Program FilesJavajdk1.8.0_65
그래서 대신
org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_65
나는 사용해야만 했다
org.gradle.java.home=C:/프로그램 파일/Java/jdk1.8.0_65
그 후, 구축은 성공했습니다.
문제는 프로젝트가 JDK가 아닌 JRE를 사용하여 구축되고 있다는 것입니다.또한 이클립스로부터 구축되었기 때문에 이 작업도 성공했습니다.
- [창] > [설정] > [그라들]> [인수]에서 워크스페이스 JRE를 지정하고 JDK를 지정합니다.
- 창 > 설정 > Java >인스톨 완료 JRE는 JDK를 기본값으로 지정합니다.
내 경우(Windows 10) Java 업데이트 후 환경변수를 잃어버렸기 때문에 다음 단계에 따라 변수를 다시 추가했습니다.https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html
다음과 같은 방법으로 문제를 해결했습니다.
- http://www.java2s.com/Code/Jar/t/Downloadtools180jar.htm에서 파일툴-1.8.0.jar를 다운로드합니다.
- 파일의 압축을 풀고 이름을 tools.jar로 변경합니다.
- C:\Program Files\Java\jre1.8.0_191\lib 폴더에 복사합니다.
- 재시도
gradle.properties 파일에 다음 코드 행을 입력합니다.
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
tools.jar가 컴파일 클래스 경로에서 성공했는지 확인하셨나요?길이 틀렸나 봐요.
task debug << {
configurations.compile.each { println it }
}
JAVA_를 통한 JDK 경로 추가"Open Gradle Run Configuration"의 HOME 탭은 문제를 해결합니다.
대부분의 상위 옵션을 시도해 보았지만 환경 설정에 문제가 있어서 도움이 되지 않았던 것 같습니다.이 문제를 해결한 것은 재설치입니다. jdk1.8.0_201
그리고.jre1.8.0_201
이렇게 해서 저는 실수를 해결했습니다.그게 도움이 됐으면 좋겠어요.
나에게 이 오류는 오디오 레이어 플래터 라이브러리를 사용하려다 발생했다.문제를 해결하려면 폴더의 tools.jar:
C:\Program Files\안드로이드\Android Studio\jre\lib
에 붙여졌다
C:\Program Files\Java\jre1.8.0_181\lib.
그 후, 빌드는 정상적으로 동작했습니다.
tools.jar를 찾을 수 없습니다.
MacOS
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
Shell 재시작
My Android Studio 버전: 4.2.1
"tools.jar"는 Android Studio에서 컴파일을 위해 필요한 Oracle JDK에서 제공되며, PC에서 Android Studio를 최신 버전으로 업데이트한 후 이 문제에 직면했습니다.
문제를 해결하려면 , 다음의 순서에 따릅니다.
Android studio File -> Project Structure -> SDK (플랫폼 설정 아래)
A) JDK/JDK 홈 경로가 아직 중앙 창에 없는 경우 가운데 창에서 '+' 기호를 눌러 JDK 경로를 추가합니다(중간 창에는 다운로드된 Android SDK도 포함됨).
B) Java sdk는 보통 64비트 => "C:\Program Files\Java\jdk1.X.Y_ABC" 또는 32비트 => "C:\Program Files (x86)\Java\jdk1.X.Y_ABC"
PC에 JDK가 설치되어 있지 않은 경우 Oracle Java 웹 사이트 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html에서 다운로드하여 설치하십시오.
시스템 환경변수로 JDK와 JRE 경로 설정(2단계에서 언급한 웹 페이지에서 모두 다운로드)
A) Windows 키타입 "Edit the system environment variables" 를 눌러 어플리케이션을 엽니다.
B) [상세설정] -> [환경변수]로 이동하여 시스템 변수 아래에 JAVA_를 추가합니다.HOME 및 JRE_HOME은 다음과 같습니다.
- 사용자 변수 아래에 있는 경로 환경 변수의 jdk lib 경로를 추가합니다(이 단계는 이전 절차에서 오류가 해결되지 않은 경우에만 필요합니다). C:\Program Files\Java\jdk1.XY_ABC\lib
윈도우즈의 경우 Gradle 속성 파일에 org.gradle.java.home으로 JDK 홈 경로를 추가합니다.gradle.properties 파일이 없는 경우 새로 만들고
예: org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_241
최신 버전의 gradle과 함께 사용:
implementation javaToolchains.compilerFor { languageVersion = JavaLanguageVersion.of(11) }.get().metadata.installationPath.files('lib/tools.jar')
언급URL : https://stackoverflow.com/questions/11345193/gradle-does-not-find-tools-jar
'programing' 카테고리의 다른 글
vuex에서 registerModule/unregisterModule을 사용하는 동안 메모리 누수가 발생함 (0) | 2022.09.03 |
---|---|
Vue 파일 내에 루트 Vue 인스턴스 생성 (0) | 2022.09.03 |
이클립스:클래스 이름 자동 완성 시 특정 패키지 제외 (0) | 2022.09.03 |
ClassNotFoundException 해결방법 (0) | 2022.09.03 |
스프링 부트 속성 파일에서 암호를 숨기는 방법 (0) | 2022.09.03 |