Локальное приложение отладки, запущенное на tomcat с грузом в IntelliJ

Я пытаюсь включить отладку в моей конфигурации груза. Я использую плагин cargo-maven2 версии 1.4.19 со следующей конфигурацией.

<plugins>
  <plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.4.19</version>
    <configuration>
      <container>
        <containerId>tomcat8x</containerId>
      </container>
      <configuration>
        <type>standalone</type>
        <properties>
        <cargo.servlet.port>8080</cargo.servlet.port>
        <cargo.jvmargs>
          -Xmx2048m
          -Xms512m
          -Xdebug
          -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=63342
          -Xnoagent
          -Djava.compiler=NONE
        </cargo.jvmargs>
      </properties>
    </configuration>
    <deployer>
    </deployer>
    <deployables>
      <deployable type="war" file="target/spa.war"></deployable>
      </deployables>
    </configuration>
  </plugin>

Приложение запускается с этой конфигурацией, но IntelliJ никогда не подключается к JVM для включения отладки. Как я могу подключить IntelliJ к JVM?


person Pablo Jomer    schedule 06.04.2016    source источник


Ответы (2)


Я исправил это так.

<plugins>
  <plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.4.19</version>
    <configuration>
      <container>
        <containerId>tomcat8x</containerId>
      </container>
      <configuration>
        <type>standalone</type>
        <properties>
        <cargo.servlet.port>8080</cargo.servlet.port>
        <cargo.jvmargs>
          -Xmx2048m
          -Xms512m
          -Xdebug
          -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9009
          -Xnoagent
          -Djava.compiler=NONE
        </cargo.jvmargs>
      </properties>
    </configuration>
    <deployer>
    </deployer>
    <deployables>
      <deployable type="war" file="target/spa.war"></deployable>
      </deployables>
    </configuration>
  </plugin>

Я использовал другой порт, изменив адрес вот так.

-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9009

Затем я создал конфигурацию запуска IntelliJ для удаленного доступа, перейдя в. Run > Edit Configurations > + > Remote Я настроил удаленное устройство для перехода на локальный хост и порт, который я ранее выбрал ‹9009>.

введите описание изображения здесь

После этого я могу запустить грузовой запуск, а затем запустить отладчик как отдельный процесс, чтобы включить обнаружение ошибок.

Если вы хотите, вы можете изменить аргумент приостановки на «нет».

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

Тогда сборка груза начнется без запуска отладчика.

person Pablo Jomer    schedule 06.04.2016
comment
Вам когда-нибудь удавалось запускать это, не подключая intellij в качестве удаленного процесса? Другими словами, удавалось ли вам когда-нибудь просто запустить и все заработало? - person j will; 06.05.2020

Для gradle 4.3.0 в пути json cargo>local добавьте приведенный ниже параметр,

jvmArgs = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

и чтобы начать использовать приложение,

./gradlew cargoRunLocal

person Kannan Ramamoorthy    schedule 05.07.2018