我的工作(* NIX)机器上有一个通过IntelliJ运行的JRebel + Tomcat服务器,当我在家里(* NIX)通过远程连接的机器时,我偶尔会喜欢让JRebel更新类/资源SSH。
e.g。
home $ ssh work
work $ cd workspace/foo/bar/baz
work $ hey-jrebel-go-update-classes
我今天通过VNC进入我的工作机器,然后在我运行的Tomcat实例上执行“更新类和资源”的IntelliJ处理这个,然后退出。
这是相当愚蠢的,因为我已经SSH了。有没有办法通过命令行开始这个过程?
答案 0 :(得分:1)
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将照常工作 - 监视指定位置的更改,并在应用程序中使用它们后立即重新加载类/资源。
答案 1 :(得分:0)
我没有完全遵循你的尝试。但是如果我遵循,你基本上想要通过SSH向远程服务器发出命令,理想情况下,从IntelliJ IDEA中启动它。你可以:
plink
(或等效项)对远程服务器执行ssh命令。您可以在设置>中创建外部工具定义。 [IDE设置]>外部工具。请参阅下面的屏幕截图以获取示例。定义(或其组如果使用组将结构添加到定义中)将显示在“工具”菜单上。您还可以通过设置>映射快捷方式。 [IDE设置]>键盘映射>外部工具。对于多命令序列,您也可以
plink
来运行它plink -m {file}
运行它们。