问题描述:
idea从2021版本就开始引进run on target 功能,很是强大, 可惜windows下同步其他平台有问题, 至今官方仍未修复.
问题描述: windows 使用rsync同步到linux, 报classnotfound 异常,原因是windows的路径符同步到linux下没有转换
官方bug记录: Run Targets: can't run JUnit RC on ssh target with rsync on Windows : IDEA-270106 (jetbrains.com)
解决方案:
1. 进入rsync/bin路径下(我使用cwrsync),新建 rsync.bat文件
image.png
内容如下:
@ECHO OFF
::linux的sed命令路径,这里使用里git自带的
if exist "fileList.txt" D:\Java\env\Git\usr\bin\sed.exe -i 's:[\\]:\/:g' fileList.txt
::rsync.exe路径
D:\Java\env\cwrsync_6.2.8_x64_free\bin\rsync.exe %*
说明: 需要安装rsync和git(或cygwin),主要是使用sed命令,当然使用windows命令替换其实也可以
2. 配置idea的rsync,选择上面的rsync.bat, 替换原来的exe即可
image.png
3. 再运行同步到linux就正常了
无法Stop停止问题:
官网bug记录: https://youtrack.jetbrains.com/issue/IDEA-324137
原因:
- root用户有问题
- ssh 版本太低
解决方案也很简单:
- 新建一个非root用户
- 升级ssh(测试9.6p1正常)
- idea使用新建的非root 连接
- 可能需要关闭selinux: setenforce 0
自己使用的centos7一键升级ssh脚本: https://lrxc.lanzouo.com/b030oli2wh 密码:d3os
参考文档:
https://www.cnblogs.com/HByang/p/18002712
https://blog.csdn.net/u011439436/article/details/128020734