[java] Maven 의존성 관리
Maven은 Java 프로젝트의 의존성 관리를 위한 강력한 도구입니다. 의존성이란 프로젝트가 다른 라이브러리나 프레임워크에 의존하고 있음을 나타냅니다. Maven을 사용하면 프로젝트의 외부 라이브러리 의존성을 쉽게 관리할 수 있고 필요한 라이브러리를 자동으로 다운로드하여 프로젝트를 더욱 효율적으로 관리할 수 있습니다.
Maven 프로젝트 구조
Maven으로 생성된 Java 프로젝트는 표준적인 프로젝트 구조를 따릅니다. 기본적으로 다음과 같은 디렉터리와 파일들로 구성됩니다:
project-root
|
|- src
| |- main
| | |- java
| | |- resources
| |
| |- test
| |- java
| |- resources
|
|- pom.xml
src/main/java
: 메인 소스 코드 파일들을 포함하는 디렉터리src/main/resources
: 메인 소스 코드에서 사용되는 리소스 파일들을 포함하는 디렉터리src/test/java
: 테스트 소스 코드 파일들을 포함하는 디렉터리src/test/resources
: 테스트 소스 코드에서 사용되는 리소스 파일들을 포함하는 디렉터리pom.xml
: 프로젝트 빌드 설정과 의존성 정보를 포함하는 Maven 프로젝트 파일
의존성 추가
의존성은 Maven 프로젝트 파일(pom.xml)에 추가됩니다. 예를들어, com.google.guava
라이브러리에 의존한다면 다음과 같이 의존성을 추가할 수 있습니다:
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
</dependencies>
위의 코드에서 groupId
, artifactId
, version
은 각각 그룹 아이디, 아티팩트 아이디, 버전을 나타냅니다.
의존성이 추가된 후에는 Maven이 자동으로 해당 라이브러리를 다운로드하여 프로젝트에 포함시킵니다.
의존성 관리
의존성을 추가한 후에는 Maven 명령어를 사용하여 프로젝트를 빌드하고 관리할 수 있습니다. 자주 사용되는 Maven 명령어는 다음과 같습니다:
mvn clean
: 빌드될 때 생성된 파일들을 제거mvn compile
: 프로젝트를 컴파일mvn test
: 테스트 실행mvn package
: JAR, WAR 또는 기타 패키지를 생성mvn install
: 로컬 저장소에 라이브러리를 설치
의존성을 관리하여 Maven을 통해 프로젝트를 효율적으로 빌드 및 관리할 수 있습니다.
의존성 관리에 대한 자세한 내용은 Maven 공식 웹사이트(https://maven.apache.org/)를 참고하세요.