programing

Gradle은 tools.jar를 찾을 수 없습니다.

yoursource 2022. 9. 3. 17:09
반응형

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이 에러가 발생하고 있습니다.

'로 가면 좋을지'를 요.JDKD:\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 설치인지 확인하십시오.

이 투고에 기재되어 있는 솔루션을 시험해 보았습니다만, 어느 것도 이 문제를 해결하지 못했습니다.여기 내 솔루션이 있습니다.

  1. "작업 세분화" 보기로 이동합니다.
  2. 실행할 작업을 마우스 오른쪽 버튼으로 클릭합니다.
  3. 그래들 실행 구성 열기 선택
  4. "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_HOMESur.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-openjdkJDK( 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 에서는, 같은 문제가 발생해, 다음과 같이 문제를 해결했습니다.

  1. ★★Advance System Settings>Environment Variables>System Variables
  2. PATH를 선택하여 기본값을 덮어씁니다.C:\ProgramData\Oracle\Java\javapath
  3. 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.jarJRE 디렉토리(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설정을 시도했습니다.

(나한텐) 좋아!

이 문제를 해결한 것은 다음과 같습니다.

  1. C:\Program Files\에서 tools.jar를 찾았습니다.안드로이드\Android Studio\jre\lib
  2. C:\Program Files(x86)\Java\jre1.8.0_271\lib에 복사 붙여넣기
  3. 코드를 다시 실행했고 작동했어요

때 이 할 수 .gradle.properties 삭제:

org.gradle.java.home=/usr/local/android-studio/jre

리눅스

./etc/environmentnano 또는 gedit와 같은 텍스트 편집기에서 다음 행을 추가합니다.

JAVA_HOME="/usr/lib/jvm/open-jdk"

창문들

  1. 시스템 제어판 애플릿을 시작합니다([시작] - [설정] - [컨트롤 패널]- [시스템]).
  2. [상세설정] 탭을 선택합니다.
  3. [ Environment Variables ]버튼을 클릭합니다.
  4. [ System Variables ]그래서 [Add]버튼을 클릭하여 다음 행을 넘깁니다.

    " " "로 설정합니다.JAVA_HOME

    [ Value ] : [ ] :C:\Program Files\Java\jdk1.x.x_xxx

    서 ''는x.x_xxx 수 .C:\Program Files\Java

  5. 시스템 변수에서 경로를 선택한 다음 편집을 클릭하고 새 단추를 클릭한 다음 다음 줄을 지나십시오.

    %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를 최신 버전으로 업데이트한 후 이 문제에 직면했습니다.

문제를 해결하려면 , 다음의 순서에 따릅니다.

  1. 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"

  2. PC에 JDK가 설치되어 있지 않은 경우 Oracle Java 웹 사이트 https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html에서 다운로드하여 설치하십시오.

  1. 시스템 환경변수로 JDK와 JRE 경로 설정(2단계에서 언급한 웹 페이지에서 모두 다운로드)

    A) Windows 키타입 "Edit the system environment variables" 를 눌러 어플리케이션을 엽니다.

    B) [상세설정] -> [환경변수]로 이동하여 시스템 변수 아래에 JAVA_를 추가합니다.HOME 및 JRE_HOME은 다음과 같습니다.

윈도우즈 시스템 환경 변수 설정

  1. 사용자 변수 아래에 있는 경로 환경 변수의 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

반응형