UnsupportedClassVersionError 에러 해결


Unsupported major.minor version 52.0

위 에러가 발생하여 찾아보니 원인은 빌드한 자바 버전보다 낮은 버전의 자바 컴파일러에서 실행시 발생한다고 한다.

    • Java SE 10 = 54
    • Java SE 9 = 53
    • Java SE 8 = 52
    • Java SE 7 = 51
    • Java SE 6.0 = 50
    • Java SE 5.0 = 49
    • JDK 1.4 = 48
    • JDK 1.3 = 47
    • JDK 1.2 = 46
    • JDK 1.1 = 45

실제로 빌드한 자바 버전은 1.8 이었고, 배포할 서버의 자바 버전은 1.7.x 였다.

$ java -version 

두 가지의 해결 방안이 있어 전자로 선택했다.

1) 배포할 서버의 자바 버전을 1.8.x로 업데이트 한다.
2) 1.7 버전으로 빌드한다.

$ yum install -y java-1.8.0-openjdk

결론빌드/배포 할 자바 버전을 동일하게 설정해야 한다.

'Development > Java' 카테고리의 다른 글

SSHProtocolException 에러 해결  (0) 2019.01.12
Garbage Collection 방식  (0) 2018.05.12
Garbage Collection 과정  (0) 2018.04.28
Garbage Collection 용어 정리  (0) 2018.04.26
AES256 암호화 오류 해결  (4) 2017.10.06

Configuration Condition

조건에 따라 환경을 설정할 수 있다.
RabbitMQ를 사용하는 서버와 사용하지 않는 서버의 환경을 달리 설정하는데 적용했다.

- Example
amqp.enabled 프로퍼티로 amqp 사용여부를 판단한다.
amqp를 사용하는 경우, 해당 클래스에 정의한 빈들을 등록한다.
amqp를 사용하지 않는 경우, 빈을 등록하지 않는다.

@Configuration
@Conditional(AmqpConfig.Condition.class)
public class AmqpConfig {

  @Autowired
  private Environment env;

  public static class Condition implements ConfigurationCondition {

    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
      return context.getEnvironment().getProperty("amqp.enabled", Boolean.class);
    }

    @Override
    public ConfigurationPhase getConfigurationPhase() {
      return ConfigurationPhase.PARSE_CONFIGURATION;
    }
  }

  // @Bean
}

컨텍스트에 특정 빈이 등록되어 있는가? 조건 등으로도 사용할 수 있다.

Garbage Collection 방식

Java 버전별 GC 방식 default value

    • Java 7 - Parallel GC
    • Java 8 - Parallel GC
    • Java 9 - G1 GC

GC 방식
  • Serial GC
  • Parallel GC
  • Parallel Compacting GC
  • Concurrent Mark Sweep GC
  • G1(Garbage First) GC

상세 내용은 하단 링크에 잘 설명되어 있으므로 생략!

GC 방식 상세 링크1 
GC 방식 상세 링크2

'Development > Java' 카테고리의 다른 글

SSHProtocolException 에러 해결  (0) 2019.01.12
UnsupportedClassVersionError 에러 해결  (0) 2018.07.16
Garbage Collection 과정  (0) 2018.04.28
Garbage Collection 용어 정리  (0) 2018.04.26
AES256 암호화 오류 해결  (4) 2017.10.06

+ Recent posts