본문 바로가기

Programing/OpenSource

[Gradle] build.gradle - Repository that could not be found

Repository that could not be found

다시 말해 리포지토리를 찾을 수 없습니다.

위의 Repository는 내가 만든 클래스이고, 스프링의 org.springframework.data.repository.CrudRepository를 상속받은 인터페이스이다. 아래와 같이 뼈대만 있다.

public interface JobRepository extends CrudRepository<Job, Long> {
}


근데 왜 잘 돌아가던 애플리케이션이 갑자기 안돌아갔을까?


이것 때문에 어제 야근을 했다. 혹시 또 일어날 수도 있고 겪을 수도 있기 때문에 기록으로 남긴다.

결론적으로 원인은 build.gradle의 설정을 바꾸어주었기 때문이었다.

좀 더 구체적으로 이야기하면 이전에 아래의 위와 같이 되어 있는 것을

compile "com.zaxxer:HikariCP:${hikariVersion}"

compile group: 'com.zaxxer', name: 'HikariCP', version: '${hikariVersion}'

위의 아래로 바꾸었기 때문이다.

혹시 차이가 느껴지는가??

Maven Repository에서 복사하라고 만들어준 템플릿이 아래와 같은 폼이라 아래가 더 최근의 경향인가 생각해서 무심코 바꾸었다.

그런데 이것 때문에 서버가 안뜨는 것이다.

정확히 이야기하면 서버가 뜨기 위해 필요한 라이브러리가 클래스패스에 잡혀있지 않았기 때문이다.

Gradle 탭에서 보면 아래와 같이 빨간색으로 문제가 있다고 알리고 있지 않은가...

알고보니 groovy의 문자열의 특성 중에 작은 따옴표의 경우 변수 치환이 되지 않기 때문이다.

compile group: 'com.zaxxer', name: 'HikariCP', version: '${hikariVersion}'

compile group: 'com.zaxxer', name: 'HikariCP', version: "${hikariVersion}"

로 바꾸면 해결된다!