이번 포스팅은 Maven에 관한 내용입니다.
pom.xml 파일에서 의존성의 주입 시 여러가지 속성들이 존재하지만 scope 속성에 관련된 내용입니다.
scope는 해당 의존성이 어떤 레벨에서 까지 영향을 미치지는지를 기술하는 속성입니다.
예를 들어서 실제 컴파일에서는 사용하지 않고, 테스트를 사용할 시에만 라이브러리를 사용하겠다.
이럴때 test라는 범위를 지정해주면 이 라이브러리는 실제 src/main의 영역에는 의존성이 추가되지 않고, src/test라는 영역에서만 의존성을 주입하게 됩니다.
이 포스팅은 이로인해 발생하는 에러때문에 작성되었는데, 정확한 이유는 알 수 없지만 svn에 의하여 버전관리되는 프로젝트에서 pom.xml 파일에 junit 관련 의존성 주입이
다음과 같이 되어 있는 상황이었고, src/main 내부의 파일들은
'The import org.junit cannot be resolved'
'Test cannot be resolved to a type’
위와 같은 아래를 내뿜고 있는 상황이었습니다.
commit을한 상대방의 pc에서는 위와 같은상태에서 어떻게 코드가 정상동작 하는지 알수없었지만
해당 에러의 경우
다음과 같이 scope를 없애서 디폴트 값으로 변경하거나 혹은 scope의 볌위를 빌드 파일에도 적용시키는 영역으로 지정해줌으로서 해결 가능했습니다.