IDEA新出的一个功能,可以将本地代码通过ssh同步到远程服务器,在远程服务器上进行开发测
试。
点击“Run on ”选项,可以指定远程服务器运行、开发
如果是win10系统,勾选“Use rsync” 可能会出现类似的异常
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(228) [Receive
r=3.2.3]
通过检索,发现是ssh不兼容导致的问题。
我们可以先排查一下win10环境是否自带的ssh。
以下命令需要使用win10自带的PowerShell,且是管理员权限。不能使用CMD
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
如果OpenSSH.Client 和 OpenSSHell.Server均尚未安装,则此操作应返回以下输出:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
我的是系统自带了OpenSSH.Client
系统自带的ssh和rsync需要的ssh版本不对应,导致了这个异常。把系统自带的删除掉就可以了。
删除命令
# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
从win复制到linux下运行程序的时候,会提示ClassNotFoundException相关异常信息,是因为idea的这个功能有bug目前还没有修复
idea官方追踪贴:
IDEA-289123https://youtrack.jetbrains.com/issue/IDEA-289123
临时解决办法:
idea run on target ssh rsync 同步异常问题https://www.jianshu.com/p/23382bf1f95f
参考资料:
安装 OpenSSHhttps://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstusehttps://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuseRSYNC异常https://www.cnblogs.com/bing-yu12/p/7507283.htmlhttps://www.cnblogs.com/bing-yu12/p/7507283.html