从命令行运行时,如何在Spring Boot中添加JVM参数?

时间:2019-05-23 15:25:16

标签: spring-boot tomcat command-line jvm-arguments

我正在使用Spring Boot 2.1.5.RELEASE。我想通过传递一些JVM参数来启动嵌入式Tomcat服务器,以便可以在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

但是似乎服务器都无法正常启动,但是似乎都没有任何作用,但是我的调试端口已关闭(通过telnet)...

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

1 个答案:

答案 0 :(得分:0)

用于通过远程启用调试:

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