【问题标题】:How do I add a JVM argument to Spring boot when running from command line?从命令行运行时,如何向 Spring Boot 添加 JVM 参数?
【发布时间】:2019-05-23 15:25:15
【问题描述】:

我正在使用 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

但似乎两者都没有做任何事情,因为它似乎服务器正常启动,但我的调试端口已关闭(每个 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

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      相关资源
      最近更新 更多