使用Intellij在远程服务器上部署/调试java代码

使用Intellij在远程服务器上部署/调试java代码,java,debugging,intellij-idea,remote-access,remote-debugging,Java,Debugging,Intellij Idea,Remote Access,Remote Debugging,我想在远程服务器上运行java代码,以获得更快的速度(服务器非常强大)。我想要的是将Intellij连接到远程服务器并运行代码。但我仍然想在本地机器(即笔记本电脑)上使用IntelliJ 我在IntelliJ中找到了一个配置部分,它位于Default Setting->Build executation deployment->deployment中,在那里我可以设置远程服务器的地址以及用户名和密码。但我不知道下一步该怎么办 如果需要调试在远程服务器上运行的web应用程序,可以通过以下方式进行调

我想在远程服务器上运行java代码,以获得更快的速度(服务器非常强大)。我想要的是将Intellij连接到远程服务器并运行代码。但我仍然想在本地机器(即笔记本电脑)上使用IntelliJ


我在IntelliJ中找到了一个配置部分,它位于
Default Setting->Build executation deployment->deployment
中,在那里我可以设置远程服务器的地址以及用户名和密码。但我不知道下一步该怎么办

如果需要调试在远程服务器上运行的web应用程序,可以通过以下方式进行调试:

将代码部署到远程服务器。有几种方法:

  • 通过与您的应用服务器集成的想法。进入
    Settings>Build、Execution、Deployments>Application Servers
    并在那里添加应用服务器。以后可以将其用作部署目标。看
  • 例如,通过构建工具进行集成,maven可以使用插件与许多应用服务器进行集成。当构建过程很复杂时,这种方法很有效
  • 手动-简单地将构建构件复制到目标应用程序服务器计算机中并手动部署
以调试模式连接到服务器。为此,您需要在IDEA中创建单独的运行/调试配置。如果您有Enterprise Edition,您可以为您的服务器选择配置模板(e.q.Tomcat服务器),并从应用程序服务器列表中选择服务器。在Community Edition中,您必须使用默认配置

安装完成后,您的工作流程应如下所示:

  • 对代码进行修改
  • 将其重新部署到服务器中(必要时重新启动)
  • 运行调试配置
  • 访问服务器上的应用程序(例如通过浏览器),以触发执行所需的代码
  • 调试
  • 对于PhpStorm有一个简单的定义,但是对于IntelliJ IDEA,它几乎是相同的

    下面是通过SFTP将
    .jar
    文件从
    工件
    子目录部署到远程服务器的示例配置,部署到
    /home/serge/artifact
    目录:

    我会的。然后调整部署配置,将jar部署到远程服务器。或者您也可以使用Maven/Gradle来做同样的事情

    接下来,您可以配置在服务器上运行jar(通过
    java-jar-jarname.jar

    通过
    工具
    |
    外部工具
    |
    你好
    在远程服务器上运行:

    要自动启用工件的过程,请在
    工具
    |
    部署
    中启用
    自动上载
    ,并在
    工具
    |
    部署
    选项中启用

    若要调试代码,请使用。复制调试所需的JVM选项,并调整远程SSH外部工具中的选项,以便应用程序在调试模式下启动并可以接受连接(确保防火墙规则已调整,以允许在指定端口上进行连接)


    您指的是带有Java EE容器的远程web服务器,还是希望在那里运行普通Java应用程序?在第一种情况下,请参阅@arghtype的答案,否则我的答案更合适。我指的是在远程服务器上运行普通Java。在笔记本电脑上运行我的代码需要一段时间,这就是为什么我需要在我们的服务器上运行它的原因,因为它是超级强大的计算机。我想要的是使用Intellij运行我的代码,Intellij安装在我的笔记本电脑上,代码实际上是在该服务器上运行的。谢谢,然后请检查我的答案,它正是针对您的情况。正如您所说,该指南是针对Php的。由于这个问题可能也适用于许多其他用户,如果您能完成您的swer for java,以便其他用户也可以得到他们的答案。那么,Intellij的具体过程是什么?我已经用Intellij IDEA的真实示例更新了答案,通过SFTP部署并使用SSH外部工具运行。@HimanAB还有什么我可以添加的,以便您接受答案吗?我目前无法访问我的代码,所以我老实说,我现在无法测试它是否有效。我今晚回家后一定会这样做。谢谢你的解释。