Error: web3j/web3j/web3j: Unsupported special dependency :openjdk

목록으로 돌아가기

들어가며

자바 스프링 부트와 블록체인 서버 연동 중 발생한 에러로 만일 해당 내용이 궁금하시면 아래 글도 봐주세요

스프링 블록체인 연동

환경

진행된 컴퓨터는 Mac M1 Os입니다.

원인 1 > 설치 패키지 자체의 의존성 문제

일단 여기까지 오셨으면 많이 시도하고 오신거일테니 openjdk가 설치 돼 있는 분들은 이 방법으로 진행하세요
정상적으로 여러 버젼의 openjdk를 설치해도 안됐을 경우입니다.

brew edit web3j

명령어를 작성하시면 편집기에 web3j.rb 파일이 열릴겁니다.
depends_on :openjdk => “1.7+” 부분을 주석처리해주세요

class Web3j < Formula
  desc "web3j command line tools for Ethereum"
  homepage "https://github.com/web3j/web3j"
  url "https://github.com/web3j/web3j-cli/releases/download/v4.5.16/web3j-4.5.16.zip"
  # update with: shasum -a 256
  sha256 "8b635d0b0c1d0623b0a42711418dbd6601b53221143f84d6eb264c2713ffd5d7"

  # depends_on :openjdk => "1.7+"

  def install
    prefix.install "lib"
    bin.install "bin/web3j"
  end

  test do
    system "#{bin}/web3j" "version"
  end
end

그 후 설치를 진행하시면 정상적으로 설치가 될 수 있습니다. 정상작동하니 주석에 두려워 하지 마세요.

brew tap web3j/web3j
brew install web3j




원인2 > openjdk가 설치 안된 경우

아래 명령어를 통해 정상적으로 java를 인식하는지 확인합니다. 만일 아래와 같이 버젼이 안뜬다면 설치 혹은 환경변수 등록을 합니다.

(base) yungchannelforyou@youngchannel-MacBookPro com % java -version

openjdk version "11.0.23" 2024-04-16
OpenJDK Runtime Environment Homebrew (build 11.0.23+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.23+0, mixed mode)

맥os 기준 brew 설치 명령어

brew install openjdk

저의 경우 다음과 같은 경로에 파일이 설치 됐습니다.

/opt/homebrew/Cellar/openjdk

이제 해당 파일의 경로를 환경 변수에 등록합니다. openjdk 속 bin 폴더 위치를 알아야합니다. 저의 경우 아래와 같은 경로에 존재하네요. 사람마다 위치가 다를 수 있습니다.

/opt/homebrew/Cellar/openjdk/21.0.3/bin

아래 명령어를 통해 bash 파일을 엽니다.

nano ~/.bash_profile

제일 아래로 내려가 아래 명령어를 복붙하고 컨트롤 + x 한 뒤 저장을 하고 나옵니다.

export PATH="/opt/homebrew/Cellar/openjdk/21.0.3/bin:$PATH"

쉘을 적용시킵니다.

source ~/.bash_profile

그 후 설치를 진행하시면 정상적으로 설치가 될 수 있습니다.

brew tap web3j/web3j
brew install web3j

원인3 > java 버젼이 호환 안됨

이럴 경우 여러개의 자바를 설치해 테스트해 보아야 합니다…
아래 여러개의 버젼을 각각 설치한 뒤 환경 변수 등록까지 꼭 해주세요

brew install openjdk@11
brew install openjdk@17
brew install openjdk@8

기존 추가했던 openjdk 환경 변수는 지우고 등록하셔야 합니다!!
환경변수 등록 예시

nano ~/.bash_profile

열린 편집기 제일 아래에 추가

export PATH="/opt/homebrew/Cellar/openjdk@11/21.0.3/bin:$PATH"

적용

source ~/.bash_profile

그 후 설치를 해봅니다…

brew tap web3j/web3j
brew install web3j



author-profile
Written by 유찬영

댓글