diff --git a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/JnaCallDllOrSo.java b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/JnaCallDllOrSo.java index a9d252e49..f1aaf10db 100644 --- a/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/JnaCallDllOrSo.java +++ b/pqs-advance/advance-boot/src/main/java/com/njcn/advance/utils/JnaCallDllOrSo.java @@ -31,17 +31,21 @@ public class JnaCallDllOrSo { //linux操作系统 this.nameDll = "lib" + name + "_dll"; suffix = ".so"; -// this.path = "/usr/local/jarfiles/advanceboot/BOOT-INF/classes/"; - //this.path = URLDecoder.decode(this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(), "UTF-8"); } else { this.nameDll = name; -// this.path = URLDecoder.decode(this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath().replaceFirst("/", ""), "UTF-8"); } - File tempFile; + String tem = "/usr/local/dllFile/"+this.nameDll.concat(suffix); + File dockerFile = new File(tem); + if(!dockerFile.exists()){ + boolean f = dockerFile.getParentFile().mkdirs(); + boolean d = dockerFile.createNewFile(); + System.out.println("文件夹创建:"+f); + System.out.println("文件创建:"+d); + } + try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream(this.nameDll.concat(suffix))) { - tempFile = File.createTempFile(this.nameDll, suffix); - try (FileOutputStream outputStream = new FileOutputStream(tempFile)) { + try (FileOutputStream outputStream = new FileOutputStream(dockerFile)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { @@ -49,9 +53,7 @@ public class JnaCallDllOrSo { } } } - this.path = tempFile.getAbsolutePath(); - System.out.println(1); - System.out.println(1); + this.path = dockerFile.getAbsolutePath(); } catch (Exception e) { log.error(e.getMessage()); } @@ -62,8 +64,6 @@ public class JnaCallDllOrSo { public String getStrpath() { return this.path; -// String aa = this.path + this.nameDll; -// return aa.replace("/", File.separator); } public void setPath() {