본문 바로가기

Programming!

eclipse(sts)에서 m2 repository 따로 지정하기

어느 순간 잘 사용하던 플젝이 build path오류를 내기 시작함.


음.. 누군가 설정을 변경했을 거 같고, IntelliJ를 사용하는 다른 개발자들은 문제없이 사용하는 거보니 뭔가 설정 자체가 IntelliJ에 맞춰진듯 하다.


오류 내용을 보니 build libs를 못찾고있다. 아마 eclipse 의 maven local repository path 문제일꺼라 생각하고 eclipse에서 Maven설정을 들여다 봄.



음 역시 Local Repository가 문제였다. 어느 개발자분이 settings.xml을 프로젝트 내에 두고, repository도 프로젝트 내에 둔 것이다.

문제가된 settings.xml은 {PROJECT_HOME}/.m2/ 여기에 있었다.

<settings>
    <localRepository>.m2/repository</localRepository>
</settings>


위와 같이 .m2/repository로 로컬 저장소를 지정하니까 전혀 엉뚱한 곳으로 path가 잡히고 있다. 된장..

해서 절대 경로로 바꿔 주려다가 해당 settings.xml은 팀 공유 파일이라 별도 settings.xml을 만들기로 결정함.


위 이미지에서는 "Users/Grissom/.m2/settings.xml"이지만 해당 xml은 global 설정이니 건드리지 말고 ProjectHome이나 또는 "Users/Grissom/.m2/settings.myproject.xml"을 하나 더 만들어서 아래와 같이 localRepository 를 절대경로로 지정해준다.

<settings>
    <localRepository>/Users/Grissom/Development/workspaces/java/myproject/.m2/repository</localRepository>
</settings>


이렇게 하니 정상적으로 build path 가 잡힌다. 뭐 eclipse 의 문제이기는 하지만... 플젝별로 localRepository이 필요할까도 싶고.. 플젝별로 한다면 빌드 실행시 옵션처리를 하는 게 좋지 않았을까 싶기도 하고.. 이렇게.

<settings>
    <localRepository>{project.home.root}/.m2/repository</localRepository>
</settings>

여튼 성공.