이것은 단순한 컨셉이다.
시스템이나 라이브러리, 프레임웍은 적절한 기본 설정을 포함하고 있어 쓸데없는 설정작업을 하지 않고도 적절히 작동해야 한다는 것이다.
Ruby on Rails나 EJB3와 같은 프레임워크는 이 컨셉을 잘 따르고 있다.
Maven도 이 컨셉을 따르고 있는데 커스터마이징을 하지 않으면 디렉토리 구조가 아래와 같다고 가정해 버린다.
${basedir}/src/main/java - java 소스 디렉토리이런 디렉토리 구조는 사소한 것이지만 ANT를 사용할때는 항상 결정해야 하는 귀찮은 일이다.
${basedir}/src/main/resources - resources 디렉토리
${basedir}/src/test - test code 디렉토리
${basedir}/target/classes - 컴파일된 byte code 디렉토리
${basedir}/target - 배포할 jar파일 디렉토리
Maven은 디렉토리 구조 뿐만아니라 소스코드 컴파일, 패키징, 웹사이트 생성 등 많은 프로세스에서 Convention Over Configuration의 Concept를 적용했다.
출처 : maven definitive guide


댓글