JAVA_HOME이 JDK 또는 JRE를 가리켜 야합니까?


102

나는이 지적 JAVA_HOMEC:\Program Files (x86)\Java\jre7. 잘 작동합니다. 그 후 ant의 압축을 풀고 Ant와 관련된 환경 변수를 설정했는데 타이핑 후 다음과 같은 오류 메시지가 나타납니다."ant -version"

영상

이 포럼을 검색했습니다. 한 가지 해결책은 JRE 대신 JDK에 Java를 가리키는 것 같습니다. 이것이 해결책인지 확실하지 않습니다. 즉, 일반적으로 JAVA_HOME은 어느 것을 가리켜 야합니까? JDK 또는 JRE?

답변:


121

어떤 종류의 개발을 수행하거나 Maven 또는 Ant로 빌드하는 javac경우 (Java 컴파일러) 와 같은 유틸리티가있는 JDK (Java Development Kit)를 가리켜 야 합니다. 그렇지 않으면 JRE (Java Runtime Environment)를 가리킬 수 있습니다.

JDK에는 JRE에있는 모든 것이 포함되어 있습니다. Java 프로그램 만 실행하는 경우 JRE 또는 JDK를 가리킬 수 있습니다.


7
따라서 JAVA_HOME두 가지 작업을 수행하는 데 사용됩니다. 1 : 개발 도구 용 javac.exe. 2 : 비 개발 도구의 경우 java.exe. 이것은 "하나를위한 하나의 도구" 를 위반하는 것 같습니다 . 안 JDK_HOME대신 사용할 수?
Pacerier 2015-09-14

4
이 사이트의 다이어그램은 JDK와 JRE의 관계를 보여줍니다. docs.oracle.com/javase/8/docs
andrybak

1
Java 경로가 JRE 또는 JDK로 설정되었는지 여부를 프로그래밍 방식으로 검증 할 수 있습니까?
Dinesh Kumar P

9

간단히 (jdk1.xxx_xx로 변경)

JAVA_HOME = C : \ Program Files \ Java \ jdk1.8.0_05


6

내 JAVA_HOME은 JDK를 가리 킵니다. 그래도 작동하지 않으면 Java 6이 아닌 Java 7 용 ant를 다운로드했는지 확인하십시오.


5

일반적으로 JRE 또는 JDK를 가리키는 지 여부는 중요하지 않습니다. 그것을 사용하는 응용 프로그램에 따라 다릅니다. Ant 문서에는 Ant의 모든 기능을 얻으려면 JDK를 가리켜 야 한다고 나와 있습니다.


2

개발자는 JAVA_HOME을 jdk에서 지정하여 javac copiler 등에 액세스해야합니다. JRE에서 실행되도록 프로그램을 테스트 할 수 있다면 좋습니다. 앱 서버를 사용하는 경우 종종 JRE 대신 JDK가 필요하지만 이는 특정 서버에 따라 다릅니다.


2

JDK 또는 JRE를 사용할 수 있지만 다음과 같습니다.

JAVA_HOME은 사용할 JDK / JRE를 찾기 위해 런처에서 사용됩니다. (일부 작업에는 Java 도구가 필요하므로 JDK가 권장됩니다.)
. ANT_HOME 설정


0

간단하게합시다. 설정으로 이동하여 "환경 변수"를 검색합니다. 환경 변수 창이 나타나면 새로 만들기를 클릭 한 다음 JDK의 설치 경로를 찾을 때까지 디렉토리 찾아보기를 클릭하여 새 SYSTEM 변수를 만듭니다. JDK는 프로그램 파일에 설치되어야하며 JAVA 폴더가 표시되고 폴더 안에는 JDK 및 JRE ... 코드를 작성하는 경우 JDK를 선택해야합니다 !!! JRE로 충분하다고 말하는 사람의 말을 듣지 마십시오 ... 아니요! 그건 그렇지 않을거야! 적절한 디렉토리는 다음과 같아야합니다. C : \ Program Files \ Java \ jdk1.8.0_144 아주 간단합니다!


2
@Stephan 기존 답변은 이미 제공하는 데 시간을 할애 한 정보를 제공합니다. 그것이 당신의 반대 투표에 대한 정당성입니까? 이것은 이러한 스레드의 많은 문제입니다. 우선, 기본 원칙에 대한 답이 있다고해서 답이 잘 구성되어 있거나 도움이되었다는 의미는 아닙니다. 내 답변은 이전 답변과 전혀 동일하지 않습니다. 내가 제공 한 대답은, 정확한 지시와 함께
nexogen.io
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.