From a8f2f4e6f1a9173d7eb9779c7879674015c8cda0 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期四, 10 十月 2024 14:07:31 +0800
Subject: [PATCH] 项目启动加载已发布的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