run mvn intellij enable debuggear debug como java spring maven spring-boot maven-3

java - mvn - Maven spring boot run debug con argumentos



run project spring boot (3)

El comportamiento y el cambio que observa se está produciendo porque comenzó a usar la opción jvmArguments :

Argumentos de JVM que deberían estar asociados con el proceso bifurcado utilizado para ejecutar la aplicación. En la línea de comando, asegúrese de ajustar varios valores entre comillas.

De forma predeterminada, cuando se usa, el complemento Spring Boot Maven también se dividirá en su ejecución, como lo describe la opción de fork :

Bandera para indicar si los procesos de ejecución deben ser bifurcados. Por defecto, el proceso de forking solo se utiliza si se especifican un agente o jvmArguments .

Por lo tanto, el uso de jvmArguments también activó el modo de horquilla de la ejecución del complemento. Al bifurcar, en realidad no está recogiendo los otros argumentos -D pasados ​​desde la línea de comandos.

Solución : si desea utilizar los jvmArguments , jvmArguments todos los argumentos necesarios.

mvn spring-boot:run -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787 -Dserver.port=9090 -Dpath.to.config.dir=/var/data/my/config/dir"

Usualmente estoy ejecutando mi aplicación Spring Boot con comando:

mvn spring-boot:run -Drun.arguments=--server.port=9090 / -Dpath.to.config.dir=/var/data/my/config/dir

Quiero configurar el puerto personalizado para la depuración, por lo que puedo conectarme desde eclipse. Cuando agrego argumentos del ejemplo http://docs.spring.io/spring-boot/docs/1.1.2.BUILD-SNAPSHOT/maven-plugin/examples/run-debug.html

mvn spring-boot:run -Drun.arguments=--server.port=9090 / -Dpath.to.config.dir=/var/data/my/config/dir / -Drun.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8787"

funciona, pero otros argumentos como server.port o path.to.config.dir ya no se reconocen y obtengo una excepción como:

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.my.app.Controller]; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ''path.to.config.dir'' in string value file:///${path.to.config.dir}/some.properties"

Pregunta : ¿Cómo puedo correr con todos los argumentos?


El nombre del parámetro tiene que ser prefijado con spring-boot. como en -Dspring-boot.run.jvmArgument

La documentación de Spring Boot me proporcionó la solución mientras ejecutaba Spring Boot 2.0.3

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