Как установить свойство agentlib для плагина mvn tomcat (jpda)
Относится к eclipse debug remote web application => Как отладить удаленное приложение в моем eclipse
Как я могу установить / архивировать это в плагине mvn tomcat? http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/
Единственное, что может помочь, это установить systemProperty, но это не работает для меня; /
Цель: запустить tomcat на консоли через maven, но включить удаленную отладку для разных сред
(ДА, ребята, мы можем запустить tomcat в Eclipse WTP! Это не вопрос;)
3 ответа
$ export MAVEN_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
$ mvn tomcat7:run-war
^^ это все, не круто (как это не в POM), но это работает
Источник: http://aaronz-sakai.blogspot.de/2009/02/debugging-jetty-when-running-mvn.html
Это немного старая тема, но ради полноты я хотя бы немного добавлю сюда.
Плагин не предоставляет настройки параметров отладки по какой-то странной причине. Таким образом, ваш единственный вариант - вручную указать конфигурацию отладки для JVM, которая запускает процесс. В вашей среде это можно сделать тремя способами:
- Использование общеизвестной переменной среды maven (как описано в childno.de)
- Непосредственное указание параметров для maven (переменная env. Не требуется):
mvn -Xdebug -Xnoagent -Djava.compiler = NONE -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = y tomcat7: run-war
- С конфигурацией Run eclipse Это в основном то же самое, что и 2), но вы определяете это в eclipse (было бы хорошо, если бы вы вообще не хотели покидать IDE). Для этого вам нужно указать конфигурацию Maven Build Run. Установить цель
tomcat7:run
(или аналогичный), а затем перейдите на вкладку JRE. В области аргументов VM вы указываете конфигурацию отладки:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
pluginManagement
раздел вашего проекта пом:<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
</plugin>
</plugins>
</pluginManagement>
ИЛИ... вы можете просто добавить следующий тег в конфигурацию вашего плагина
<jpda>true</jpda>
Затем, когда вы выполните: mvn tomcat7:run, он запустит jpda на порт 8000.
Забавно, что, хотя я и проверил это, и он работает, я не могу найти никакого кода в базе кода с открытым исходным кодом, чтобы объяснить, почему он работает, и я не нашел способа изменить порт по умолчанию 8000.
Apache, кажется, упал мяч, когда дело доходит до документации этого плагина.