sbt 로컬 저장소 설정 및 복구 방법

로컬 저장소가 혼란스러워져 전체를 삭제한 후 sbt를 재시작했을 때, 다음과 같은 단계에서 정지되는 문제가 발생했습니다:

Getting org.scala-sbt sbt 0.13.12 ...

이 문제는 주로 sbt의 기본 로컬 저장소 경로나 원격 저장소 경로가 잘못 구성되었을 때 발생합니다. 아래에서는 이 문제를 해결하기 위해 sbt 설정 파일과 저장소 정보를 수정하는 방법을 설명합니다.

1. sbt 설정 파일 구조

아래와 같이 sbtconfig.txtrepo.properties 파일을 수정하여 문제를 해결할 수 있습니다.

sbtconfig.txt

# Java 메모리 설정 최적화
-Xmx512M
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m

# 추가적인 SBT 옵션 설정
-Dsbt.log.format=true
-Dsbt.boot.directory=E:\custom\.sbt\boot
-Dsbt.global.base=E:\custom\.sbt
-Dsbt.ivy.home=E:\custom\.ivy2
-Dsbt.repository.config=D:\CustomConfig\Scala\sbt\conf\repo.properties
-Dsbt.repository.secure=false

위 설정은 sbt의 로컬 저장소 위치를 사용자 지정 경로로 변경하며, 로그 포맷과 부팅 디렉토리를 조정합니다.

repo.properties

다음은 저장소 목록을 정의한 repo.properties 파일입니다.

[repositories]
local
aliyun-maven: https://maven.aliyun.com/repository/public/
aliyun-ivy: https://maven.aliyun.com/repository/ivy/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
typesafe-ivy: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
central-maven: https://repo1.maven.org/maven2/
sonatype-releases: https://oss.sonatype.org/content/repositories/releases/

위 구성에서는 아리윈 클라우드 저장소를 추가하고, 기본 Maven 중앙 저장소와 함께 사용하도록 설정되었습니다.

2. 설정 적용 후 sbt 재시작

설정 파일을 위와 같이 수정한 후 sbt를 다시 실행하면, 정상적으로 필요한 패키지를 다운로드하고 프로젝트를 빌드합니다.

3. 추가 팁: 네트워크 문제 해결

인터넷 연결 상태에 따라 특정 저장소가 응답하지 않을 수 있습니다. 이런 경우, 더 신뢰할 수 있는 저장소(예: 아리윈 클라우드)를 우선순위로 배치하여 문제를 해결할 수 있습니다.

태그: SBT Scala repository

6월 9일 16:29에 게시됨