java - Intellij IDEA远程调试java控制台程序

标签 java intellij-idea ssh

我有一个运行 Java 的远程服务器,我可以通过 SSH 访问它。 我正在本地机器上编写一个应用程序,使用 Maven 构建它。 是否可以将 IDE Itellij IDEA 设置为远程运行我的项目?这个想法是:构建 jar,将其复制到服务器,然后调试进程(或类似的东西)。

如果你能分享我需要设置的设置,那就太好了。

最佳答案

这是我通常用来调试我的远程应用程序的方法。

  1. 在 Debug模式下运行服务器

    这可以在运行应用程序服务器时添加这一行

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

    对于1.4以上的JDK,可以用这个

    -agentlib:jdwp=transport=dt_socket,server=n,suspend=n,address=9999
    

    之后,运行你的应用服务器

  2. SSH 隧道

    如果您使用 ssh 连接,我不能 100% 确定您可以直接访问应用程序的端口(好吧,也许有办法 ;))。因此,首先我们需要通过运行此命令公开我们在第一步设置的调试端口。

    ssh -f user@personal-server.com -L 9999:personal-server.com:9999 -N
    
  3. 设置 IDE

    您可以按照@SSJVegito 所说的步骤进行操作,基本上就是将调试器指向端口 9999。在您的 Idea 中打开调试配置,然后将圈出的值更改为 9999。然后,祝您调试愉快 :D debug configuration

关于java - Intellij IDEA远程调试java控制台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916995/

相关文章:

java - 在 ScrolledComposite 中包含两个复合 Material

java - java包在Eclipse中的位置

java - Log4j - 根据项目模块记录到多个日志文件

java - SpringBoot 无法识别多模块 Java 应用程序中另一个模块的 RestController

Kotlin 让绘图 : minimal example

java - Hibernate 找不到我的 hibernate.cfg.xml 文件

java - 限制对方法的并发访问

ssh - 在没有 SSH 的情况下安装 Hugo Web 引擎

git - 更新后 SourceTree ssh-agent 失败

git - 将 github 存储库克隆到实时站点,但出现 : Permission denied (publickey). fatal error :远程端意外挂断