[intellij-idea] intellij 아이디어로 Maven 목표를 디버깅하는 방법은 무엇입니까?

Intellij IDEA로 Maven 목표를 디버깅 할 수 있습니까? 마우스 오른쪽 버튼을 클릭하고 Debug를 실행할 수 있다는 것을 알고 있습니다 . 그러나 Maven 플러그인은 내 외부 라이브러리 목록에 나타나지 않으므로 코드로 이동하여 중단 점을 설정할 수 없습니다. 따라서 디버그Run 처럼 멈추지 않고 목표를 통해 실행됩니다 .

OS X 10.8 및 IDEA 12.0.2를 사용하고 있습니다.

수정 : 목표

https://github.com/searls/jasmine-maven-plugin에 대한 사용자 지정 specRunner를 작성했습니다. 그러나 $ specs $는 비어 있습니다. 그래서 어떤 파일이 실제로로드되는지 확인하려고합니다.



답변

그것을 알아 냈습니다.

  1. 명령 줄에서 mvnDebug대신 maven goal을 실행하십시오.mvn . 예mvnDebug clean
  2. intelliJ에서 디버깅하려는 Maven 플러그인의 소스를 열고 중단 점을 설정합니다.
  3. IDEA에서 Remote 구성을 .
    1. 설정에서 전송 : 소켓, 디버거 모드 : 연결, 호스트 : localhost, 포트 : 8000 (mvnDebug의 기본 포트)을 설정합니다.
  4. 디버그 모드에서 구성을 실행하십시오. 대기중인 mvnDebug jvm에 연결해야합니다.

답변

아주 쉽게. Intellj Idea 15.0.4를 사용하고 있습니다.

  1. Maven 플러그인에서 중단 점 설정
  2. 태그 “Maven Projects”에서 마녀가 maven 플러그인을 사용하는 프로젝트로 이동합니다.
  3. “플러그인”에서 플러그인을 찾고 목표 위에 마우스 오른쪽 버튼을 클릭하고 디버그

다음은 스크린 샷입니다.

스크린 샷


답변

오래된 질문이지만 동일한 필요가 있었고 작동하는 데 시간이 걸렸습니다. 누군가를 도울 수 있기를 바랍니다.

테스트 디버깅 사용 :

mvn <goal> -Dmaven.surefire.debug

또는

mvn <goal> -Dmaven.failsafe.debug

실행이 중지되고 주소 5005 (기본값)에서 소켓을 수신하면 구성된 원격 디버거를 실행합니다.

구성 방법 :

실행-> 구성 편집-> 원격 전송 : 소켓 디버거 모드 : 포트 연결 : 5005 (기본값)

-> 저장.


답변

IntelliJ 내에서만 maven 목표를 디버깅하는 가장 쉬운 방법은 일반 maven 목표를 만들고 실행기 탭에서 해당 VM 옵션을 전달하는 것입니다.

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

여기서 8000은 원격 디버깅을위한 포트 번호입니다.

Maven 목표 구성

그런 다음 포트 8000으로 새 원격 구성을 만듭니다. Maven goal을 실행 한 후이 구성을 실행합니다.

원격 디버깅 구성


답변

가장 쉬운 해결책은 일시적으로 maven 플러그인을 종속성으로 추가하는 것입니다. 이 작업이 완료되면 IntelliJ는이를 다른 종속성과 마찬가지로 처리하고 일반적인 방법으로 중단 점을 설정할 수 있습니다.


답변

위의 답변을 참조 하거나이 플러그인을 pom.xml에 추가하십시오.

           <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
            <jvmArguments>
            -Xdebug -
            Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
            </jvmArguments>
            </configuration>
        </plugin>

mvn대신 Maven 목표를 실행하십시오.mvnDebug . 예mvn spring-boot:run

IDEA에서 원격 구성을 추가하십시오. 설정에서 전송 : 소켓, 디버거 모드 : 연결, 호스트 : localhost, 포트 : 8000 (mvnDebug의 기본 포트)을 설정합니다.

코드를 디버깅 할 때마다 IDEA에서 디버그로 실행합니다.


답변

Intellij로 작업하고 있으므로 이미 내장 디버거가 있으며 명령 줄 도구 인 mvnDebug를 반드시 사용할 필요는 없습니다. 이 자습서를 확인하십시오 : Intellij IDEA에서 Maven 애플리케이션을 디버깅하는 방법 .

이 자습서에서는 Maven Exec 플러그인을 사용하며 명령 줄 또는 .NET Framework를 사용하지 않고도 애플리케이션을 디버깅 할 수 있습니다 MvnDebug. 그것을 공유하는 것이 여기에서 가치가있을 수 있다고 생각합니다.