diff --git a/cloud-rule-engine/src/main/java/com/muyu/compile/JavaFileCompile.java b/cloud-rule-engine/src/main/java/com/muyu/compile/JavaFileCompile.java index e03b9d5..d772f5a 100644 --- a/cloud-rule-engine/src/main/java/com/muyu/compile/JavaFileCompile.java +++ b/cloud-rule-engine/src/main/java/com/muyu/compile/JavaFileCompile.java @@ -3,12 +3,12 @@ package com.muyu.compile; import com.muyu.common.core.domain.Result; import com.muyu.constant.MethodSuffix; +import com.muyu.upload.ALiYunUpload; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.tools.*; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.net.MalformedURLException; import java.net.URL; import java.nio.file.Path; @@ -27,7 +27,7 @@ public class JavaFileCompile { public static Result compile(String fileName){ - try { +// try { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); String[] strings = {"-classpath","/home/lib","-verbose","-d", "/home/lib","home/"+fileName + MethodSuffix.JAVASUFFIX }; @@ -40,27 +40,44 @@ public class JavaFileCompile { System.out.println("编译失败"); } - // class文件路径 - String externalClassFilePath = "/home/lib/com/muyu/generate/"+fileName+ MethodSuffix.CLASSSUFFIX; - log.info(externalClassFilePath); - Path path = Paths.get(externalClassFilePath); - String externalClassDir = externalClassFilePath.substring(0, externalClassFilePath.lastIndexOf("/")); + try { + String classContent = ""; + BufferedReader bufferedReader = new BufferedReader(new FileReader("/home/lib/com/muyu/generate/"+fileName+ MethodSuffix.CLASSSUFFIX)); + String line; + while ((line = bufferedReader.readLine()) != null) { + System.out.println(line); + classContent += line; + } + bufferedReader.close(); + log.info("文件存储:" + fileName + MethodSuffix.CLASSSUFFIX); + ALiYunUpload.uploadClassFiles(classContent,fileName + MethodSuffix.CLASSSUFFIX); - URL[] urls = new URL[]{new File(externalClassDir).toURI().toURL()}; + } catch (IOException e) { + e.printStackTrace(); + } - ExternalClassLoader externalClassLoader = new ExternalClassLoader(urls); - - // 加载类 - // 注意类名必须是完全限定名(包括包名) - Class clazz = externalClassLoader.loadClassFromPath(path, "/home/lib/com/muyu/generate/"+fileName+ MethodSuffix.CLASSSUFFIX); - System.out.println(clazz); - - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } +// // class文件路径 +// String externalClassFilePath = "/home/lib/com/muyu/generate/"+fileName+ MethodSuffix.CLASSSUFFIX; +// log.info(externalClassFilePath); +// Path path = Paths.get(externalClassFilePath); +// +// String externalClassDir = externalClassFilePath.substring(0, externalClassFilePath.lastIndexOf("/")); +// +// URL[] urls = new URL[]{new File(externalClassDir).toURI().toURL()}; +// +// ExternalClassLoader externalClassLoader = new ExternalClassLoader(urls); +// +// // 加载类 +// // 注意类名必须是完全限定名(包括包名) +// Class clazz = externalClassLoader.loadClassFromPath(path, "/home/lib/com/muyu/generate/"+fileName+ MethodSuffix.CLASSSUFFIX); +// System.out.println(clazz); +// +// } catch (MalformedURLException e) { +// throw new RuntimeException(e); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } return Result.success(); }