Java 9부터 Java 프로그래밍 언어에 JShell이라는 강력한 도구가 새롭게 도입되었습니다. JShell을 활용하면 선언문(declarations), 문장(statements), 표현식(expressions)과 같은 코드 조각을 별도의 클래스나 컴파일 과정 없이 즉시 실행하고 결과를 확인할 수 있습니다.
System.getProperty() 메서드로 환경 정보 조회하기
System 클래스의 정적 메서드인 getProperty()를 사용하면 Java 버전과 공급업체(Vendor) 정보뿐만 아니라 OS 버전과 OS 이름 같은 시스템 환경 정보도 손쉽게 조회할 수 있습니다. 이 메서드는 원하는 속성 키(key)를 문자열 인자로 전달하면 해당 값을 반환합니다.
JShell 콘솔에서 실습해 보기
아래 코드 예제는 JShell 콘솔에서 Java 버전, Java 공급업체, OS 버전, OS 이름을 차례대로 출력하는 방법을 보여줍니다.
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> System.out.println(System.getProperty("java.version"));
9.0.4
jshell> System.out.println(System.getProperty("java.vendor"));
Oracle Corporation
jshell> System.out.println(System.getProperty("os.version"));
6.3
jshell> System.out.println(System.getProperty("os.name"));
Windows 8.1
jshell>주요 시스템 속성 정리
- java.version: 현재 실행 중인 JRE(Java Runtime Environment)의 버전을 반환합니다. 위 예제에서는 9.0.4입니다.
- java.vendor: JDK 또는 JRE를 제공한 공급업체 정보를 반환합니다. 여기서는 Oracle Corporation입니다.
- os.version: 운영체제의 버전 번호를 반환합니다. Windows 8.1의 경우 6.3이 표시됩니다.
- os.name: 운영체제의 이름을 반환합니다. 위 예제에서는 Windows 8.1입니다.
이처럼 getProperty() 메서드에 필요한 시스템 속성 키만 전달하면, 실행 환경에 대한 다양한 정보를 문자열 형태로 간편하게 가져올 수 있습니다. JShell 덕분에 별도의 자바 파일을 작성하고 컴파일하는 번거로움 없이 대화형으로 이러한 정보를 바로 확인할 수 있다는 점이 큰 장점입니다.