Как добавить аргумент JVM в загрузку Spring при запуске из командной строки?

Я использую Spring Boot 2.1.5.RELEASE. Я хочу запустить встроенный сервер Tomcat, передавая некоторые аргументы JVM, чтобы я мог отлаживать свое приложение в Eclipse. я пытался сделать это

localhost:todoapp-backend davea$ java -jar build/libs/todoapp-backend.jar -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787"

а также это

localhost:todoapp-backend davea$ java -jar build/libs/todoapp-backend.jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787

но, похоже, ни один из них ничего не делает, так как кажется, что сервер запускается нормально, но мой порт отладки закрыт (по телнету) ...

localhost:todoapp-backend davea$ telnet localhost 8787
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host

person Dave    schedule 23.05.2019    source источник


Ответы (1)


Используйте для включения отладки через удаленный:

java -jar myapp.jar -Dagentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

или через цель запуска maven, например:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"

Измените порт адреса на любое значение, которое вы хотите использовать.

В springboot 2 и выше нет необходимости в части -Drun.arguments, вы можете пропустить это и предоставить аргументы, переопределяющие среду, сразу после -D, например:

$ java -jar myproject.jar --spring.config.name=myproject
person Ananthapadmanabhan    schedule 24.05.2019