实现思路:获取某目录下的所有jar包,根据最新的修改时间来启动该jar包(当然你也可以写死路径,就连获取也不用了),运用多线程 执行cmd命令同时关闭原程序
优点:可以部署到生产环境中,适用于一切框架,支持通过Http请求来实现重启/升级jar包
缺点:似乎无法在ide工具中测试。
声明:只在Windows环境下测试过,理论上Linux只需小改即可。
核心其实就两步多线程。
package com.example.plane.handler;
import cn.hutool.core.io.FileUtil;
import lombok.AllArgsConstructor;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Set;
/**
* @author 乐心湖
* @date 2020/7/22 13:37
**/
public class Restart