feat():测试

yuan
yuan 2024-09-02 10:53:39 +08:00
parent 602de88ba3
commit f20a6c393f
5 changed files with 65 additions and 27 deletions

View File

@ -46,7 +46,7 @@ public class OSSFileLoad {
return Result.error("预下载文件不存在");
}
// 本地文件下载路径
String localPath = "home/app.jar/"+fileName;
String localPath = "home/"+fileName;
// ObjectMetadata object = ossClient.getObject(new GetObjectRequest(bucketName, filePath + fileName), new File(localPath));
// System.out.println(object);
//
@ -76,10 +76,10 @@ public class OSSFileLoad {
}
//对路径里的.java文件进行编译
SourceCodeCompiler.javaCompilerPath("/home/app.jar/");
System.out.println("第一步");
File outputDir = new File("home/app.jar/"); // 或者是你指定的其他输出目录
SourceCodeCompiler.javaCompilerPath("/home/");
System.out.println("第一步");
File outputDir = new File("home/"); // 或者是你指定的其他输出目录
System.out.println("第二步");
File[] classFiles = outputDir.listFiles(); // 获取输出目录中的所有文件
System.out.println("第三步");
if (classFiles != null) {

View File

@ -9,12 +9,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName JavaCodeScan
* @Description
* @Author YiBo.Liu
* @Date 2024/8/23 10:36
*/
@Log4j2
public class JavaCodeScan extends ClassLoader{

View File

@ -12,12 +12,6 @@ import java.io.File;
import java.util.Arrays;
import java.util.List;
/**
* @ClassName SourceCodeCompiler
* @Description
* @Author YiBo.Liu
* @Date 2024/8/23 10:35
*/
public class SourceCodeCompiler {
private static final Logger log = LogManager.getLogger(SourceCodeCompiler.class.getName());
@ -37,11 +31,14 @@ public class SourceCodeCompiler {
* @param path
*/
public static void javaCompilerPath(String path){
List<File> files = JavaCodeScan.getJavaFiles(path);
File[] array = files.toArray(new File[files.size()]);
javaCompiler(array);
try {
List<File> files = JavaCodeScan.getJavaFiles(path);
System.out.println(files);
File[] array = files.toArray(new File[files.size()]);
javaCompiler(array);
}catch (Exception e){
log.error(e);
}
}
@ -61,12 +58,16 @@ public class SourceCodeCompiler {
* @param file
*/
public static void javaCompiler(File...file){
//通过源文件获取到想要编译的java类源代码迭代器包括所有的内部类其中每一个类都是一个JavaFileObjects也被称为一个汇编单元
Iterable<? extends JavaFileObject> javaFileObjects = fileManager.getJavaFileObjects(file);
//生成编译任务
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, Arrays.asList("-d","home"), null, javaFileObjects);
//执行编译任务
task.call();
try {
//通过源文件获取到想要编译的java类源代码迭代器包括所有的内部类其中每一个类都是一个JavaFileObjects也被称为一个汇编单元
Iterable<? extends JavaFileObject> javaFileObjects = fileManager.getJavaFileObjects(file);
//生成编译任务
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, Arrays.asList("-d","home/"), null, javaFileObjects);
//执行编译任务
task.call();
}catch (Exception e){
log.error(e);
}
}
}

View File

@ -0,0 +1,43 @@
package com.muyu;
import com.muyu.util.SourceCodeCompiler;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
/**
* @Author
* @Packagecom.muyu
* @Projectcloud-rule
* @nametest
* @Date2024/9/2 9:01
*/
public class test {
public static void main(String[] args) {
try {
//对路径里的.java文件进行编译
System.out.println("第一步");
SourceCodeCompiler.javaCompilerPath("C:\\Users\\13636\\Desktop\\test\\");
System.out.println("第二步");
File outputDir = new File("C:\\Users\\13636\\Desktop\\test\\com\\muyu\\generate\\");
System.out.println(outputDir);// 指定的其他输出目录
System.out.println("第三步");
File[] classFiles = outputDir.listFiles(); // 获取输出目录中的所有文件
System.out.println(classFiles.length);
if (classFiles != null) {
for (File classFile : classFiles) {
if (classFile.getName().endsWith(".class")) {
System.out.println("找到class文件 " + classFile.getName());
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
}
}