자바 SE 7 용 오라클의 서버 JRE (link)를 다운로드했습니다. 다운로드 한 파일은 server-jre-7u45-linux-x64.tar.gz
입니다. 이 파일을 압축 해제했을 때 나는 전체 java JDK를 포함하여 이라는 디렉토리가 jdk1.7.0_45이라는 것을 발견했다. JRE를 설치할 때 예상했던 것과 다릅니다. 여기서 무슨 일이 일어나고있는거야?오라클의 서버 JRE에 JDK가 있습니까?
답변
대답은 상위 페이지에서 패키지의 설명입니다 :
JDK (자바 개발 키트). Java 개발자의 경우. Java 응용 프로그램을 개발, 디버깅 및 모니터링하기위한 완벽한 JRE 및 도구가 포함되어 있습니다.
서버 JRE : (서버 Java Runtime Environment) 서버에 Java 응용 프로그램을 배포하는 경우. 서버 응용 프로그램에 일반적으로 필요한 JVM 모니터링 및 도구 용 도구가 포함되어 있지만 브라우저 통합 (Java 플러그인), 자동 업데이트 또는 설치 프로그램은 포함되지 않습니다.
JRE : (Java Runtime Environment). 대부분의 최종 사용자 요구 사항을 다룹니다. 시스템에서 Java 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 서버 JRE의 경우
는 는 JDK 도구 일부를 포함하는 "도구는 일반적으로 서버 응용 프로그램에 필요한". 예를 들어 Tomcat과 같은 웹 컨테이너는 JSP를 컴파일 된 Java 서블릿으로 변환해야하며 호출 가능한 Java 컴파일러가 필요합니다.
IMO를 사용하면 Server JRE를 사용하면 얻을 수없는 이점이 있습니다. 즉 보안 악몽 (!) 인 Java 플러그인과 생산 서비스 안정성에 나쁜 자동 업데이트가 있습니다.
스택 오버플로에 대한 새로운 질문으로 더 잘 부각 될 수있는이 혼란스러운 측면 중 하나는 서버 JRE에서 복제되는 바이너리입니다. 메인 JRE 바이너리 "jre/bin"과는 다른 디렉토리 "bin"에 "서버 응용 프로그램에 일반적으로 필요한 도구"가있는 것을 이해합니다. 두 디렉토리에서 "java"및 "keytool"과 같은 바이너리 복제를 이해하지 못합니다. 누구든지 왜 그 일을하지 않거나 최소한 심볼릭 링크를 사용하는 것과 반대되는 이유를 알 수 있습니까? 기능적으로 다른 점은 무엇입니까? 그들의 md5sums는 "아니오"라고 표시합니다. – Bradley
"그들"에게 물어볼 필요가 있습니다. 그러나, 심볼릭 링크가 (잘못 작성된) 스크립트를 깨뜨릴 수도 있습니다. 예 : JRE에 의존하는 타사 응용 프로그램에서. 나는 그들이 기능적으로 다르다고 생각하지 않는다. –
흠, javac가 포함되어 있습니까? – user2864740
@ user2864740 예. –
두 번 확인 했으니 까. 와우. 어떤 Linux 버전을 실행하고 있습니까? 배포판에 재 포장 된 버전을 얻을 수 있습니다. –