자바 조건부 컴파일
Shubham Vora
2023년10월12일
이 기사에서는 Java 코드를 조건부로 컴파일하는 방법을 배웁니다. 조건부 컴파일은 특정 조건(Java 버전별 또는 OS별일 수 있음)을 기반으로 코드를 컴파일하는 동안 코드 청크를 제거합니다.
Java의 조건부 컴파일
조건부 컴파일을 설정하는 가장 간단한 방법은 전역 부울 변수를 만들고 해당 값에 따라 코드를 컴파일하는 것입니다. 아래 예제 코드를 통해 조건부 컴파일을 이해해 보자.
Java에서 조건부 컴파일에 부울 변수 사용
아래 예에서는 javaversion.java
라는 파일 이름을 생성하고 public static
변수 이름인 Version
을 포함하는 파일 내부에 Javaversion
클래스를 생성했습니다.
test.java
파일에서 Version
변수에 액세스하고 버전에 따라 Java 코드를 컴파일합니다.
자바버전.자바
:
class Javaversion {
//
public static final String Version = "Java 19";
}
테스트.자바
:
class Test {
public static void main(String[] args) {
System.out.println("Hello, World!");
if (Javaversion.Version == "Java 19") {
System.out.println("Code block executed for java 19");
} else {
System.out.println("Code block executed for < java 19");
}
}
}
출력:
Hello, World!
Code block executed for java 19
또한 사용자는 Java의 다른 코드로 다른 파일을 만들고 특정 조건에 따라 다른 파일을 컴파일할 수 있습니다.
try {
Class.forName(<class Name>);
// execute the code for the `Java 17` version
return new Java17();
} catch (Exception e) {
// fall back
return new Java19();
}
위의 의사 코드에서 우리는 Class.name()
메서드를 사용하여 클래스를 감지하고 Java17
또는 Java19
클래스의 객체를 반환합니다. 여기에서 사용자는 다른 파일에 Java17
및 Java19
클래스를 생성해야 합니다.
작가: Shubham Vora