[java] Maven의 구조와 디렉토리 구성
Maven은 Java 프로젝트를 관리하는 도구로, 프로젝트의 라이프사이클 관리, 의존성 관리, 빌드 등의 작업을 쉽게 수행할 수 있도록 도와줍니다. Maven 프로젝트는 특정한 디렉토리 구조를 가지고 있으며, 이 구조를 따르는 것이 관례입니다. 이번 글에서는 Maven 프로젝트의 구조와 디렉토리 구성에 대해 알아보겠습니다.
1. Maven 프로젝트 구조
Maven 프로젝트는 다음과 같은 구조를 가지고 있습니다.
|-- pom.xml
`-- src
|-- main
| |-- java
| |-- resources
| `-- webapp
`-- test
|-- java
|-- resources
`-- webapp
주요 구조는 다음과 같습니다.
pom.xml
: Maven 프로젝트의 루트 디렉토리에 위치한 XML 파일로, 프로젝트의 메타 정보와 빌드 설정을 포함합니다.src
: 소스 코드와 리소스 파일들을 담는 디렉토리입니다.main
: 프로덕션 코드를 담는 디렉토리입니다.java
: Java 소스 코드를 담는 디렉토리입니다.resources
: 프로덕션 코드에서 사용되는 리소스 파일을 담는 디렉토리입니다.webapp
: 웹 애플리케이션의 웹 리소스를 담는 디렉토리입니다.
test
: 테스트 코드를 담는 디렉토리입니다.java
: 테스트를 위한 Java 소스 코드를 담는 디렉토리입니다.resources
: 테스트 코드에서 사용되는 리소스 파일을 담는 디렉토리입니다.webapp
: 테스트용 웹 리소스를 담는 디렉토리입니다.
2. 주요 디렉토리의 역할
각 디렉토리의 역할을 살펴보면 다음과 같습니다.
src/main/java
: 프로덕션 코드를 담는 디렉토리입니다. Java 소스 코드를 작성할 수 있습니다.src/main/resources
: 프로덕션 코드에서 사용되는 리소스 파일들을 담는 디렉토리입니다. 예를 들어, 설정 파일, 프로퍼티 파일 등을 포함할 수 있습니다.src/main/webapp
: 웹 애플리케이션의 웹 리소스를 담는 디렉토리입니다. HTML, CSS, JavaScript 파일 등을 포함할 수 있습니다.src/test/java
: 테스트 코드를 담는 디렉토리입니다. 프로덕션 코드를 테스트하는데 사용됩니다.src/test/resources
: 테스트 코드에서 사용되는 리소스 파일들을 담는 디렉토리입니다.src/test/webapp
: 테스트를 위한 웹 리소스를 담는 디렉토리입니다.
3. 마무리
Maven 프로젝트의 디렉토리 구조는 일관된 프로젝트 관리를 위해 정해진 구조입니다. 이를 따르면 프로젝트의 유지 보수와 협업이 용이해집니다. Maven을 사용하는 프로젝트를 개발할 때는 이러한 디렉토리 구조를 유지하고, 알맞은 위치에 소스 코드와 리소스 파일을 배치하는 것을 권장합니다.
참고 자료