2016-10-03 145 views
0

我正在写一个Java的电报机器人。这个机器人将来会在Heroku上托管。现在我只是用Gradle构建它并在本地运行它:Heroku本地web调试与Intellij IDEA

heroku local web 

命令。有什么方法可以使用Intellij IDEA进行调试吗?

+1

你可以在没有heroku的情况下从IDEA运行你的机器人,并使用getUpdates接收消息 –

+0

谢谢pengrad,这对我很有用!愚蠢的事情 - 我没有注意到我在其中一个项目类中使用了'main'方法。 – Kirill

回答

4

是的,运行heroku local在引擎盖下启动一个普通的Java进程。您可以通过运行jps(不确定这是否适用于Windows)来确认。

为了使用Intellij进行调试,您需要提供适当的JVM选项来启用调试。例如:

-Xdebug -Xrunjdwp:transport=dt_socket,address=9090,server=y,suspend=n 

你可以把这些你Procfile或将它们设置为JAVA_OPTS和参考,在您Procfile的环境变量。

一旦heroku local过程开始时,你可以确认它的工作运行:

jdb -attach localhost:9090 

然后你就可以在连接的IntelliJ远程调试器上localhost:9090