Java怎么上传文件到远程Windows服务器
远程服务器是Windows server,可以通过远程链接登录服务器,之后复制本地文件到服务器,再进行服务的重启。
现在想通过直接上传文件到远程Windows的方法来更新文件,有没有比较好的手段?
注:服务器不能安装或运行其它服务。如ftp服务或写一个socket客户端运行在服务器。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(24)
重点是,每次需要编译,打包,关服务,部署,同步,启服务…简单修改一个java文件,在部署这一件事情上就要浪费半个小时。能把人急死…所以想写个一键部署脚本。只同步class文件到目录,之后用代码执行命令操作其它就好了。想降低时间成本。
引用来自“王涛”的评论
既然可以远程桌面,那么可以采用共享目录实现
本质上没太大区别,远程桌面的权限比共享目录更大,哈哈
websphere 管理台也可以直接传war包升级的。
websphere
这兄弟说不能安装额外的服务,我估计还是担心安全和性能的问题吧,能远程链接,说明操作的权限还是有的,方法还是实用为主
websphere项目。非tomcat。
php写个ftp服务器,直接传
注:…
那不是一样么,IBM产品的控制台更强大,当然也更复杂。
回复
@魔力猫 : 就是太复杂了,所以,我想写个脚本一键部署啊。
tomcat管理界面里可以直接上传war文件
就是不想每次都登录服务器,再去做复制粘贴。想做一个软件试试监控编译后的文件,有改动直接扔到服务器上部署。
既然可以远程桌面,那么可以采用共享目录实现
本质上没太大区别,远程桌面的权限比共享目录更大,哈哈
我先查查,回头有结论在告诉你。
回复
@头号大宝贝 : 代码部署直接 Jenkins 哇,还想什么
“不能安装或运行其他服务”
那只能依赖远程Windows Server已经安装的服务了
比如 iSCSI、samba
这个本质还是远程连接。。我还不如用系统自带的快呢。。另外目录共享是没办法共享服务器的目录给我,只能我共享给服务器。出于安全考虑。
回复
@头号大宝贝 : 你这个需求本质上都是远程连接,区别只是服务器默认带没带
Windows的远程桌面,可以找找Java的RDP协议实现。或者共享目录也是个办法
有SVN作版本控制和代码管理。现在问题其实是不熟问题,不然每次都要全量在服务器上编译部署启动,比较浪费时间。
回复
@头号大宝贝 : 重启这个问题,我也没什么解决方法,如果是改了class文件或者配置文件,必须得重启 你在你的SVN里再新建一个库,然后把你Tomcat下webapps目录提交上去,然后在服务器把这个目录更新下来就可以了
回复
@头号大宝贝 : 是说对SVN使用不熟悉么,我说的这个也就是用的最简单的提交和更新两个操作,实在不会了,网上查查
看你的需求应该是服务器代码部署的问题吧,我的建议是把编译后的文件提交到一个SVN库里,然后在服务器从SVN里更新,这种做法的好处,1,可以保留历史版本,2,可以对一些特殊文件或目录进行忽略更新,3,更新的时候只需要更新修改的那些文件,不用整个工程的往上拷贝,4可以写一个脚步,然后用定时任务或者其他方式触发自动更新 不过我说的这个需要在你的服务器安装SVN客户端,但这个不会常驻进程,所以不会影响服务器性能,服务器不用额外开放服务,所以也不会影响安全性,SVN是国际上有名的软件,稳定性有保障, SVN仓库如果你自己没有,阿里云有免费的
我原本的想法是,因为有链接远程服务器的登录用户,寻思是不是可以像Linux一样,代码通过SSH远程登录链接,之后直接上传文件。但是查了查Windows下似乎没有这种方法。所以发帖来先问问,看看有没有艺高人胆大的方法…要是有人回答的方法可行,我再回AT你。
不能用ftp和另开socket处理,看你的描述你的http服务又是依赖需要上传的文件才能更新和正常运行的,如果系统没有其它方式我觉得是没法实现你要的效果。