在windows上部署项目

需求

最近好几个项目都要上线,近期也经常在Linux上部署过项目,现在某个项目要部署到政务云的windows系统上
一开始我想的很简单,在windows上部署项目这不是和在本地启动一样吗。我直接在我本地打个jar包,拖到政务云服务器上启动,不就好了吗!!结果后续也是出现了一些小问题的
下面是我的部署过程:


部署过程的问题和解决办法

  1. 修改配置:我先将我本地的配置改为政务云服务器的配置,比如政务云的数据库配置,政务云的redis密码等
  2. 打包:然后在本地idea maven clean -》 maven package,执行这两个操作以后,在target目录生成了一个jar包,这个大家应该都很清楚,现在的这个包就是包含政务云配置的包了。
    在这里插入图片描述
  3. 迁移包:将打好的jar包复制到政务云服务器的windows系统上,可以随便找个盘建个文件夹,将jar包复制进去,后面生成的日志也在这个文件夹中
  4. 编写启动脚本:我们都知道 我们可以通过java -jar xxx.jar 命令,来启动jar项目,但是使用这个命令启动的项目,关掉shell窗口以后,java进程就关闭了。这样肯定是不行的。
    但是使用启动脚本是可以的,如下。新建一个txt文本,将以下内容复制进去,然后将文件后缀由.txt改为.cmd
@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -jar E:\dev\component-services\component-service-company\target\component-service-company-1.0.1-SNAPSHOT.jar > rizhi.log  2>&1 &
exit

这里面我们需要注意的是 :

  • E:\dev\component-services\component-service-company\target\component-service-company-1.0.1-SNAPSHOT.jar
    是jar包的路径
  • rizhi.log 是记录日志的文本文件,这个会在项目启动时自动生成
  • 这个还不是最终的脚本,因为我在接下来的启动还出现了另外一个问题,大家接着往下看
  1. 双击脚本启动项目,然后打开rizhi.log日志看系统启动情况,发现了系统并没有启动成功,出现了这个错误:java -jar XXX.jar 没有主清单属性以及找不到或无法加载主类的问题
    按照以下这个博主的一步步操作,我解决了这个问题
    https://blog.csdn.net/Mrzhuangr/article/details/124731024
  2. 再次执行脚本重新启动:又出现了以下问题:
    Caused by: java.nio.charset.MalformedInputException: Input length = 1
    通过详细日志以及百度搜索,我大概知道了这个是编码的问题,需要将编码都设置成utf-8
    在这里插入图片描述
    设置好了再重新启动,发现仍然是这个报错。
  3. 最后通过在启动脚本上添加-Dfile.encoding=utf-8即可解决问题
@echo off
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
java -Dfile.encoding=utf-8 -jar E:\dev\component-services\component-service-company\target\component-service-company-1.0.1-SNAPSHOT.jar > imApiLog.log  2>&1 &
exit

联想

这个操作也可以用在本地联调中,前端需要连你的本地对接接口,但是你还有其他的接口要写,调试过程中打断点会影响前端的对接。
这个时候你可以将配置文件改为另一个端口(这样idea启动时端口不会冲突),然后打jar包-》通过脚本启动,这样就启动了一个新的服务,让前端调用这个服务。这样不影响自己本地idea的操作


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值