有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

heroku上的java调试嵌入式tomcat

我正在开发一个Java web应用程序。我已经把它部署到heroku了。现在我正在尝试使用IntelliJ远程调试我的应用程序,但没有结果。为了部署它,我使用git,然后heroku开始读取并执行Procfile。这就是问题所在。无论我在哪里看到要调试,我都必须在Procfile中使用这一行:web: java -agentlib:jdwp=transport=dt_socket,server=y,address=9090,suspend=n -jar target/myapp.jar。但是我不能把这一行放在我的Procfile上,因为我使用web: sh target/bin/webapp而不是java来执行我的应用程序。有一些解决方法可以简单地调试我的应用程序


共 (1) 个答案

  1. # 1 楼答案

    你需要Heroku Exec and the Heroku Java CLI

    首先,将agentlib参数放入JAVA_TOOL_OPTIONSenv变量中:

    $ heroku config:set JAVA_TOOL_OPTIONS="-agentlib:jdwp=transport=dt_socket,server=y,address=9090,suspend=n"
    

    这样,target/bin/webapp脚本中的java进程将自动拾取它

    然后运行:

    $ heroku ps:forward 9090
    

    您可以从IDE连接到localhost:9090