Apacke Kafka 를 사용하다보면 UI 를 찾다가 Kafka-Manager 를 찾게됩니다.

 

해당 모듈을 빌드할 때 발생하는 오류에 대한 해결방법을 정리합니다.

 

환경

CentOS 8

Java 1.8.0 / openjdk 11

 

메뉴얼을 보면 kafka-manager 다운로드 후 압축을 풀고

./sbt clean dist

명령어로 빌드를 하라고 합니다.

 

저는 해당 과정에서 에러가 발생했습니다.

 

KafkaStateActor.scala:115:29: type mismatch;
[error]  found   : java.util.Map[_$1,_$2] where type _$2, type _$1
[error]  required: java.util.Map[? <: Object, ? <: Object]
[error] Note: _$1 >: ? <: Object, but Java-defined trait Map is invariant in type K.
[error] You may wish to investigate a wildcard type such as `_ >: ? <: Object`. (SLS 3.2.10)
[error] Note: _$2 >: ? <: Object, but Java-defined trait Map is invariant in type V.
[error] You may wish to investigate a wildcard type such as `_ >: ? <: Object`. (SLS 3.2.10)
[error]       cp => props.putAll(cp.asMap)

 

[error] 12 errors found
[info] LESS compiling on 1 source(s)
[error] (Compile / compileIncremental) Compilation failed
[error] (Compile / doc) Scaladoc generation failed

 

 

 

문제는 제공되는 sbt 파일에서 java 11 버전 이상을 요구하고 있다는 것입니다.

 

저는 default java 가 1.8.0_252 로 등록되어 있습니다.

오류가 생기니 open jdk 11 버전으로 변경해보겠습니다.

 

$ vi sbt

 

java_cmd 가 default java 를 보고 있습니다.

해당 라인을 수정해줍시다.

 

제 open jdk 11 버전 경로입니다.

/usr/lib/jvm/jre-11-openjdk/bin/java

 

저장해주시고 다시 ./sbt clean dist

 

빌드에 성공했습니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기