Programming/스프링(spring) - Enterprise

7. 스프링(spring)/ pom.xml

esoog Polaris 2023. 7. 18. 21:30
반응형

# `pom.xml`

Maven 프로젝트의 구성 파일로서, 프로젝트의 의존성 관리와 빌드 설정을 담당하는 파일입니다. 스프링 프레임워크를 사용하는 Java 프로젝트에서도 `pom.xml`을 사용하여 필요한 라이브러리 및 플러그인의 의존성을 관리하고 빌드 설정을 구성할 수 있습니다.

`pom.xml` 파일은 Maven의 프로젝트 객체 모델(Project Object Model)을 정의합니다. 이 파일은 프로젝트의 기본 정보, 의존성, 빌드 설정, 플러그인 구성 등을 XML 형식으로 기술합니다.

주요한 요소들은 다음과 같습니다:

1. 프로젝트 정보: 프로젝트의 그룹 ID, 아티팩트 ID, 버전 등의 정보를 정의합니다.

```
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0</version>
```


2. 의존성 관리: 프로젝트가 의존하는 외부 라이브러리나 모듈의 정보를 설정합니다. 각 의존성은 그룹 ID, 아티팩트 ID, 버전으로 식별됩니다.

```
<dependencies>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.3.10</version>
  </dependency>
  <!-- 다른 의존성들... -->
</dependencies>
```



3. 빌드 설정: 프로젝트를 빌드하는 방식과 관련된 설정을 정의합니다. 빌드 도구, 플러그인, 리소스 디렉토리, 출력 디렉토리 등을 설정할 수 있습니다.

```
<build>
  <sourceDirectory>src/main/java</sourceDirectory>
  <testSourceDirectory>src/test/java</testSourceDirectory>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
    </resource>
  </resources>
  <!-- 플러그인 설정 등 -->
</build>
```



4. 플러그인 관리: 빌드 과정에서 추가적인 작업을 수행하기 위해 플러그인을 설정할 수 있습니다. 예를 들어, 테스트 실행, 패키징, 코드 정적 분석 등을 위한 플러그인을 설정할 수 있습니다.

```
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
      </configuration>
    </plugin>
    <!-- 다른 플러그인들... -->
  </plugins>
</build>
```



`pom.xml` 파일은 Maven의 핵심 파일로서 프로젝트의 의존성 관리와 빌드 설정을 중앙 집중화하여 관리할 수 있게 해줍니다. Maven은 `pom.xml` 파일을 기반으로 프로젝트를 빌드하고 필요한 의존성을 자동으로 다운로드하여 빌드 환경을 설정합니다.

728x90