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 708190984..a9d252e49 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,20 +31,17 @@ 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 dockerFile = new File("/usr/local/dllFile/".concat(this.nameDll.concat(suffix))); - if(dockerFile.exists()){ - this.path = dockerFile.getAbsolutePath(); - }else { - dockerFile.mkdirs(); - dockerFile.createNewFile(); - } - + File tempFile; try (InputStream inputStream = getClass().getClassLoader().getResourceAsStream(this.nameDll.concat(suffix))) { - try (FileOutputStream outputStream = new FileOutputStream(dockerFile)) { + tempFile = File.createTempFile(this.nameDll, suffix); + try (FileOutputStream outputStream = new FileOutputStream(tempFile)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { @@ -52,7 +49,9 @@ public class JnaCallDllOrSo { } } } - this.path = dockerFile.getAbsolutePath(); + this.path = tempFile.getAbsolutePath(); + System.out.println(1); + System.out.println(1); } catch (Exception e) { log.error(e.getMessage()); } @@ -63,6 +62,8 @@ public class JnaCallDllOrSo { public String getStrpath() { return this.path; +// String aa = this.path + this.nameDll; +// return aa.replace("/", File.separator); } public void setPath() {