Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9에서 JShell 시작 환경을 사용자 정의하는 방법

JShell은 변수 선언, 문장, 표현식 등 간단한 Java 프로그램을 실행하고 평가할 수 있는 대화형 REPL(Read-Eval-Print Loop) 도구입니다.

JShell이 실행되면 기본적으로 일부 코드가 미리 로드됩니다. 이 코드를 확인하려면 /list -start 명령을 입력하면 됩니다. 또한 /set start [-retain] [Type] 명령을 사용하면 JShell이 시작될 때 원하는 코드를 자동으로 불러오도록 설정할 수 있습니다.

여기서 첫 번째 옵션인 -retain은 현재 지정한 시작 구성을 저장하여 다음 JShell 세션에서도 동일하게 적용하도록 합니다. 이 옵션을 생략하면 새 세션을 열 때 기본 시작 구성이 적용됩니다.

/set start 명령의 주요 옵션

/set start [-retain] -File
/set start [-retain] -Default
/set start [-retain] -none
  • /set start [-retain] File: JShell이 시작될 때 지정한 파일의 내용(변수, 메서드, 클래스 등을 생성하는 코드)을 불러오도록 설정합니다.
  • /set start [-retain] -none: JShell이 시작될 때 어떠한 코드나 명령도 로드하지 않도록 설정합니다.
  • /set start [-retain] -Default: JShell의 시작 구성을 기본값으로 초기화합니다.

-File 옵션 활용 예제

아래 코드에서는 /set start [-retain] -File 명령을 사용해 사용자가 작성한 파일(save.jsh)을 시작 시 자동으로 로드하도록 설정합니다.

jshell> /list -start

  s1 : import java.io.*;
  s2 : import java.math.*;
  s3 : import java.net.*;
  s4 : import java.nio.file.*;
  s5 : import java.util.*;
  s6 : import java.util.concurrent.*;
  s7 : import java.util.function.*;
  s8 : import java.util.prefs.*;
  s9 : import java.util.regex.*;
  s10 : import java.util.stream.*;

jshell> /set start -retain save.jsh

jshell> /exit
|  Goodbye

C:\Users\User>jshell
|  Welcome to JShell -- Version 9.0.4
|  For an introduction type: /help intro

jshell> /list -start

  s1 : int x = 20;
  s2 : double y = 30;
  s3 : public int sum(int a, int b) {
          return a + b;
      }
  s4 : String str = "TutorialsPoint";

세션을 종료한 후 다시 JShell을 실행하면 기본 import 문 대신 save.jsh 파일에 담긴 코드가 시작 구성으로 로드된 것을 확인할 수 있습니다.

-none 옵션 활용 예제

아래 코드에서는 /set start [-retain] -none 명령을 사용하여 시작 시 아무것도 로드하지 않도록 설정합니다.

jshell> /set start -retain -none

jshell> /exit
|  Goodbye

C:\Users\User>jshell
|  Welcome to JShell -- Version 9.0.4
|  For an introduction type: /help intro

jshell> /list -start

새 세션에서 /list -start를 실행해도 아무런 코드가 출력되지 않는 것을 볼 수 있습니다.

-Default 옵션 활용 예제

아래 코드에서는 /set start [-retain] -Default 명령을 사용하여 시작 구성을 기본 상태로 되돌립니다.

jshell> /set start -retain -default

jshell> /exit
|  Goodbye

C:\Users\User>jshell
|  Welcome to JShell -- Version 9.0.4
|  For an introduction type: /help intro

jshell> /list -start

  s1 : import java.io.*;
  s2 : import java.math.*;
  s3 : import java.net.*;
  s4 : import java.nio.file.*;
  s5 : import java.util.*;
  s6 : import java.util.concurrent.*;
  s7 : import java.util.function.*;
  s8 : import java.util.prefs.*;
  s9 : import java.util.regex.*;
  s10 : import java.util.stream.*;

다시 JShell을 실행하면 기본 import 문들이 시작 구성으로 복원된 것을 확인할 수 있습니다.