[java] Maven을 사용하여 자바 디버깅하기

Maven은 자바 프로젝트의 빌드, 패키징 및 관리를 도와주는 강력한 도구입니다. Maven은 개발자가 효율적으로 자바 애플리케이션을 빌드하고 디버깅하는 데 도움이 됩니다. 이 글에서는 Maven을 사용하여 자바 디버깅을 설정하는 방법에 대해 알아보겠습니다.

1. Maven 디버그 모드 설정하기

Maven은 디버깅 모드를 통해 애플리케이션을 실행하는 동안 디버거를 연결할 수 있도록 해줍니다. 디버그 모드를 설정하려면 pom.xml 파일에 다음과 같은 설정을 추가해야 합니다.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
         <debug>true</debug>
         <optimize>false</optimize>
      </configuration>
    </plugin>
  </plugins>
</build>

위 설정은 Maven 컴파일러 플러그인을 사용하여 디버그 모드를 활성화합니다.

2. 디버깅 포트 설정하기

디버깅을 위해 애플리케이션과 디버거를 연결하려면 디버깅 포트를 설정해야 합니다. 이를 위해 pom.xml 파일에 다음과 같은 설정을 추가합니다.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.0.0-M5</version>
      <configuration>
        <argLine>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</argLine>
      </configuration>
    </plugin>
  </plugins>
</build>

위 설정은 Surefire 플러그인을 사용하여 디버깅 포트를 설정합니다. 포트 번호는 5005로 설정되어 있으며, 필요에 따라 수정할 수 있습니다.

3. 디버깅하기

디버그 모드와 디버깅 포트가 설정되었다면, Maven을 사용하여 애플리케이션을 빌드하고 디버거를 연결할 수 있습니다. 다음과 같은 명령어를 사용하여 디버깅 모드로 애플리케이션을 실행할 수 있습니다.

mvn compile
mvn exec:java -Dexec.mainClass="com.example.MyMainClass"

위 명령어에서 “com.example.MyMainClass”는 실행하려는 메인 클래스의 패키지 경로와 이름으로 수정해야 합니다.

디버깅 포트가 설정된 경우, 디버거를 사용하여 애플리케이션을 디버깅할 수 있습니다. IDE 도구(예: Eclipse, IntelliJ)에서 디버거를 연결하고 원하는 위치에 중단점을 설정할 수 있습니다.

결론

Maven을 사용하여 자바 디버깅을 설정하는 방법에 대해 알아보았습니다. Maven을 통해 디버그 모드를 활성화하고 디버깅 포트를 설정하여 효율적으로 자바 애플리케이션을 디버깅할 수 있습니다. 디버거를 사용하여 코드 실행 중에 문제를 식별하고 수정할 수 있습니다. 추가적인 정보를 원하시면 Maven 공식 문서를 참고하시기 바랍니다.

참고 자료