IntelliJ 빌드 오류 컨텍스트 불일치
Android Studio 대신 IntelliJ IDEA 15를 사용하고 싶지만 빌드에 문제가 있습니다. 다음과 같은 오류가 발생합니다.
Gradle sync failed: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch:
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\jre,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=1224,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
Actual: DefaultDaemonContext[uid=6fd89265-5686-4337-a75f-538209464d3a,javaHome=C:\Program Files\Java\jdk1.8.0_74,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=14128,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
내 실수는 무엇입니까? 다음 그림에서 볼 수 있듯이 모든 것이 올바르게 구성되었습니다.
다음과 같이 JDK 및 Android 도구를 구성했습니다.
비슷한 문제를 조사하는 동안이 질문을 발견하고 내 문제를 해결 했으므로 내 경험이 도움이 될 것입니다.
관찰
내 문제는 Wanted
컨텍스트가 javaHome
IDEA 설치 폴더에 JRE에 대한 경로가 포함되어 있고 Actual
컨텍스트가 내 경로에 Java의 첫 번째 버전으로 포함 되어 있다는 점에서 귀하와 유사 했습니다. 온라인에서 유사한 오류 보고서를 여러 개 찾았지만 IDEA가 JRE를 Wanted
버전 으로 포함하지 않았습니다 .
Wanted
자바 버전은 시스템 전체의 JRE를 설치 우연히, 그리고 JDK 나는 프로젝트를 위해 구성한하지 않으며, 값 세트 JAVA_HOME
나를 매우 의심스러운 (혼란)했다. 내 경로를 재정렬하면 또 다른 "원치 않는"버전의 Java를 사용하게 되었기 때문에 실행할 대상을 선택하기 위해 경로를 사용하고 있었지만 그 이유는 명확하지 않았습니다. IntelliJ의 임베디드 JRE를 내 경로에서 첫 번째로 만들 수 없었습니다. 여러 가지 이유로 JDK가 필요했기 때문에 다른 솔루션이 필요했습니다.
또한 실패한 경우 IntelliJ가 여러 java.exe
Gradle 데몬 프로세스를 시작했으며 빌드를 시작하기 전에는 데몬 프로세스가 실행되지 않았 음을 확인 했습니다 (Windows에 있기 때문에 Process Explorer 사용) .
해결책
원인은 "실행 / 디버그 구성"대화 상자에서 새 구성을 정의하고 다음과 같이 필드에 build.gradle
파일 의 전체 경로를 입력 Gradle project:
했기 때문입니다. (필드 오른쪽에있는 줄임표 (...) 버튼을 클릭하여이 작업을 수행했지만 직접 입력 할 수도 있습니다.)
그러나 내가해야 할 일은 Gradle project:
다음 이미지에서 녹색으로 강조 표시된 필드 오른쪽의 "폴더"아이콘을 클릭하여 "등록 된 프로젝트"로 지정된 기존 구성의 패턴을 따르는 것입니다 . 이 경우 필드의 내용은 프로젝트 이름 일 뿐이며 미묘하게 다른 배경 / 전경 색상으로 표시됩니다. (실수로이 이름을 마우스 오른쪽 버튼으로 클릭하면이 이름이 포함 된 폴더의 경로로 바뀐다는 것을 발견 build.gradle
했지만 취소하고 구성 편집을 다시 시작하면 여전히 프로젝트 이름으로 표시됩니다.)
이렇게 변경 한 후 구성이 예상대로 빌드되었으며 java.exe
UI의 "Gradle"패널에서 작업을 실행할 때와 동일한 JDK 경로를 사용하여 하나만 실행되는 것을 확인했습니다.
idea.exe가 아닌 idea64.exe를 사용하여 해결했습니다.
gradle.properties
폴더에 파일 만들기%USERPROFILE%\.gradle\
(~/.gradle/
* nix 시스템에서)- 이 파일에서 문자열을 추가하십시오
org.gradle.java.home={actual path to jdk}
(MacOS에서 그것을 알기 위해 실행하십시오/usr/libexec/java_home
)
나에게이 문제는 64 비트 JRE 만 설치되어 있기 때문에 64 비트 모드에서 IDE를 실행하여 해결되었습니다.
나는 똑같은 문제가 있었고 이것이 나를 위해 일한 것입니다.
IntelliJ 프로젝트 의 루트 디렉토리에서 .idea
및 .project
파일을 삭제했습니다 . IntelliJ를 다시 시작하고 프로젝트를 다시 열었습니다.
아래에 gradle.propetries를 추가하십시오.
org.gradle.java.home = $ {sdk_path}
예를 들면 :
org.gradle.java.home = C : \ Program Files (x86) \ Java \ jdk1.8.0_121
그렇지 않으면 메모리 힙 경고가있는 경우.
또한 아래와 같이 gradle.properties를 추가하십시오 : org.gradle.jvmargs = -Xmx512m
나를 위해 일한 것은 다음과 같습니다.
- intelliJ 제거
- intelliJ를 다시 설치하되 설치하는 동안 "JetBrains에서 64 비트 JRE 다운로드 및 설치 (64 비트 실행기와 함께 사용됨)"를 선택 하지 마십시오.
이로 인해 내 프로젝트가 다시 작동했습니다 (32 비트 및 64 비트 버전 모두).
제 경우에는 설정으로 이동하여 JDK를 검색하고 Java 컴파일러를 클릭 한 다음 프로젝트 바이트 코드 버전이 누락되었음을 알았습니다. 그래서 Java 빌드 버전 인 1.8 만 확인했습니다. 그리고 그것은 나를위한 것입니다.
jdk 폴더를 intellij 원하는 폴더로 이동하십시오. C : \ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2016.3.4 \ jre
그런 다음 원하는 줄에 지정된 .gradle 폴더의 값을 변경하고 프로젝트를 닫은 다음 다시 시작하십시오.
그것은 나를 위해 작동합니다 ....
이 문제를 해결하려면 jre 및 jre64 폴더의 이름을 바꾸어 idea.bat 파일에서 아이디어를 사용하지 못하게하고 JAVA_HOME을 다른 JDK 1.8 설치로 설정했습니다.
Gradle IDEA 플러그인을 사용하는 경우 :
- 운영
.\gradlew cleanidea idea
- IntelliJ IDEA 종료
- IntelliJ IDEA를 시작하고 주 메뉴에서 "프로젝트 가져 오기"옵션을 선택합니다.
build.gradle
가져올 프로젝트를 지정하라는 메시지가 표시되면 프로젝트의 기본 파일로 이동합니다 .- 그런 다음 JDK를 "프로젝트 기본값"또는 다른 선호하는 JDK로 설정할 수 있습니다.
- 계속하려면 확인을 클릭하고 Gradle 동기화를 확인하고 성공적으로 다시 빌드하십시오!
참조 URL : https://stackoverflow.com/questions/35536013/intellij-build-error-context-mismatch
'programing' 카테고리의 다른 글
인수가있는 여러 줄 문자열. (0) | 2021.01.17 |
---|---|
피클 파일에 여러 개체를 저장하고로드 하시겠습니까? (0) | 2021.01.16 |
코 아래에서 Python 코드를 테스트 할 때 로그 메시지를 어떻게 확인해야합니까? (0) | 2021.01.16 |
XSL xsl : 템플릿 일치 =“/” (0) | 2021.01.16 |
echo 문 안에 블록이 있습니까? (0) | 2021.01.16 |