From c12dae87f1dba43ccc2c5966a134ddf88b5eb102 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 10 十月 2024 14:03:56 +0800 Subject: [PATCH] 打包历史发布功能,动态替换dll和jar 项目启动加载已发布的dll和jar --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java index 4cb632e..c649998 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/ModelServiceApplication.java @@ -1,27 +1,37 @@ package com.iailab; +import com.iailab.module.model.mpk.common.MdkConstant; +import com.iailab.module.model.mpk.common.utils.DllUtils; import iail.mdk.model.common.Environment; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableAsync; +import javax.annotation.PostConstruct; import java.io.File; import java.io.InputStream; import java.util.Properties; @EnableAsync @SpringBootApplication +@Slf4j public class ModelServiceApplication implements CommandLineRunner { - static { + @Value("${mpk.bak-file-path}") + private String mpkBakFilePath; + + @PostConstruct + void init() { //加载动态链接库 try { Properties properties = new Properties(); InputStream in = ModelServiceApplication.class.getClassLoader().getResourceAsStream("iailmdk.properties"); properties.load(in); String mdkInitPath = properties.getProperty("mdk-init-path"); - System.out.println("mdkInitPath=" + mdkInitPath); + log.info("mdkInitPath=" + mdkInitPath); File file = new File(mdkInitPath + File.separator + "IAIL.MDK.Mid.Windows.dll"); if (!file.exists()) { throw new RuntimeException("动态链接库IAIL.MDK.Mid.Windows.dll文件不存在," + file.getAbsolutePath()); @@ -31,9 +41,16 @@ env.init(); } catch (Exception e) { e.printStackTrace(); - System.out.println("动态链接库IAIL.MDK.Mid.Windows.dll初始化失败"); + log.error("动态链接库IAIL.MDK.Mid.Windows.dll初始化失败"); } + //加载项目已发布的dll和jar + try { + DllUtils.loadProjectPublish(mpkBakFilePath + File.separator + MdkConstant.PROJECT_PUBLISH); + } catch (Exception e) { + e.printStackTrace(); + log.error("加载项目已发布的dll和jar失败"); + } } -- Gitblit v1.9.3