我在我的工作 (*NIX) 机器上有一个通过 IntelliJ 运行的 JRebel+Tomcat 服务器,偶尔我希望在家里 (*NIX) 机器上通过远程连接让 JRebel 更新类/资源SSH。
例如
home $ ssh work
work $ cd workspace/foo/bar/baz
work $ hey-jrebel-go-update-classes
我今天通过 VNC 连接到我的工作机器来处理这个问题,然后在 IntelliJ 中对我正在运行的 Tomcat 实例执行“更新类和资源”,然后注销。
这很愚蠢,因为我已经通过 SSH 登录了。有没有办法通过命令行启动这个过程?
最佳答案
JRebel 具有远程处理功能,可用于通过 HTTP 将更改同步到远程计算机。为此,您应该在远程 Tomcat 上启用 JRebel(通过 -javaagent:jrebel.jar)并启用 JRebel 远程插件以创建用于与 IDE 插件协商的 HTTP 端点。 -Drebel.remoting_plugin=true 即可。
有关更多信息,您可以查看 setting up Remoting with IntelliJ IDEA and Tomcat 的教程.
否则,在不启用远程处理的情况下,您可以使用 rebel.xml 配置文件部署应用程序,该文件将指向展开的应用程序所在的位置,JRebel 将使 Tomcat 从该特定位置加载资源,因此您可以只通过 SSH 从 IntelliJ 同步到该远程位置。然后 JRebel 将照常工作 - 监视指定位置的更改并在应用程序中使用它们时立即重新加载类/资源。
关于java - 在 intellij-run jrebel tomcat 服务器上通过 ssh 重新加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23247910/