[java] Maven을 사용하여 자바 코드 컨벤션 적용하기

많은 개발자들은 자바 코드를 작성할 때 일관된 컨벤션을 따르는 것이 중요하다는 것을 알고 있습니다. 컨벤션을 따르는 것은 가독성을 향상시키고 협업을 좀 더 용이하게 만들어주기 때문에 매우 중요합니다. 이번 포스트에서는 Maven을 사용하여 자바 코드 컨벤션을 적용하는 방법에 대해 알아보겠습니다.

1. Checkstyle 플러그인 추가하기

먼저, Maven 프로젝트에 Checkstyle 플러그인을 추가해야 합니다. 이를 위해서는 pom.xml 파일을 열고 <build> 태그 안에 다음과 같이 플러그인을 추가합니다:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
      <version>3.1.2</version>
      <dependencies>
        <dependency>
          <groupId>com.puppycrawl.tools</groupId>
          <artifactId>checkstyle</artifactId>
          <version>8.44</version>
        </dependency>
      </dependencies>
      <configuration>
        <configLocation>https://raw.githubusercontent.com/checkstyle/checkstyle/[CHECKSTYLE-VERSION]/src/main/resources/google_checks.xml</configLocation>
      </configuration>
      <executions>
        <execution>
          <id>checkstyle</id>
          <goals>
            <goal>checkstyle</goal>
          </goals>
          <phase>verify</phase>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

위의 코드에서 CHECKSTYLE-VERSION을 원하는 Checkstyle 버전으로 변경해야 합니다. 또한, 컨벤션을 정의한 google_checks.xml 파일을 사용하고 있지만, 다른 컨벤션 설정 파일을 사용하고 싶다면 해당 URL을 변경해주면 됩니다.

2. Checkstyle 검사 실행하기

이제 Maven 명령어를 사용하여 Checkstyle 검사를 실행할 수 있습니다. 프로젝트 루트 디렉토리에서 다음 명령어를 실행합니다:

mvn checkstyle:check

위 명령어를 실행하면 Checkstyle 플러그인이 프로젝트의 소스 코드를 검사하고 해당 컨벤션에 어긋난 부분을 찾아줍니다. 어긋난 부분은 커맨드 라인에 출력되며, 해당 위치를 보다 자세히 확인하려면 로그 파일 target/checkstyle-result.xml을 확인하면 됩니다.

3. Continuous Integration에 통합하기

마지막으로, 자동적으로 Checkstyle 검사를 수행하도록 Continuous Integration(CI) 시스템에 통합하는 것이 좋습니다. 대표적인 CI 도구인 Jenkins를 예로 들어보겠습니다. Jenkins에서는 Maven 프로젝트에 대한 검사를 설정할 수 있습니다. 이를 위해 Jenkins에서 새로운 작업을 만들고 다음과 같이 빌드 단계를 구성합니다:

mvn checkstyle:checkstyle -Dcheckstyle.failOnViolation=true

위와 같이 설정하면 컨벤션에 어긋나는 부분이 있을 경우, 빌드가 실패하도록 할 수 있습니다.

결론

Maven을 사용하여 자바 코드 컨벤션을 적용하는 방법에 대해 알아보았습니다. 이를 통해 개발자들은 일관되고 깔끔한 코드를 작성할 수 있게 되며, 협업과 유지 보수에도 도움이 될 것입니다. 컨벤션을 따르는 습관을 정립하는 것이 중요하니, 이 포스트를 참고하여 코드 컨벤션을 적용해보시기 바랍니다.

참고 자료