feat():下载OSS至本地编译class

yuan
yuan 2024-09-01 10:23:03 +08:00
parent ef11e6025f
commit 09dd035df1
3 changed files with 27 additions and 21 deletions

View File

@ -37,10 +37,8 @@ public class OSSFileCompile{
// }
public static Result<Object> compile(String source,String extLib){
// 获取系统Java编译器
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
// 调用编译器的compile方法编译源代码可以添加编译选项和输出目录等
int result = compiler.run(null, null, null, source);
// 检查编译结果

View File

@ -1,11 +1,14 @@
package com.muyu.load;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.GetObjectRequest;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.ObjectMetadata;
import com.muyu.common.core.domain.Result;
import com.muyu.compile.OSSFileCompile;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;
@ -27,7 +30,8 @@ public class OSSFileLoad {
private static final String accessKeySecret = "5ejb4qdgukfD1FdM181kdeAkSuURo7";
// bucket
private static final String bucketName = "java-web-generating-class";
// 本地文件下载路径
private static final String localpath = "C:\\Users\\13636\\Desktop\\FileLoad\\";
public static Result<Object> streamingDownload(String fileName) throws IOException {
String source = null;
// 创建 OSSClient 实例
@ -38,31 +42,26 @@ public class OSSFileLoad {
System.out.println("bucket不存在");
return Result.error("bucket不存在");
}
// 判断 要下载的文件 是否存在
Boolean flag_file = ossClient.doesObjectExist(bucketName, fileName);
if (!flag_file) {
System.out.println("预下载文件不存在");
return Result.error("预下载文件不存在");
}
// ossObject包含文件所在的存储空间名称、文件名称、文件元信息以及一个输入流
OSSObject ossObject = ossClient.getObject(bucketName, fileName);
// 按行读取文件内容
BufferedReader reader = new BufferedReader(new InputStreamReader(ossObject.getObjectContent()));
while(true){
String line = reader.readLine();
source += line;
if (line == null) break;
}
System.out.println(source);
System.out.println("读取成功");
// 数据读取完成后,获取的流必须关闭,否则会造成连接泄漏,导致请求无连接可用,程序无法正常工作
reader.close();
// 关闭oss
ossClient.getObject(new GetObjectRequest(bucketName, fileName), new File(localpath));
// OSSObject ossObject = ossClient.getObject(bucketName, fileName);
// BufferedReader reader = new BufferedReader(new InputStreamReader(ossObject.getObjectContent()));
// while(true){
// String line = reader.readLine();
// source += line;
// if (line == null) break;
// }
// System.out.println(source);
// System.out.println("读取成功");
// reader.close();
ossClient.shutdown();
// Map<String, byte[]> compile = OSSFileCompile.compile(fileName, source, "target/");
Result<Object> compile = OSSFileCompile.compile(source, "target/");
Result<Object> compile = OSSFileCompile.compile(localpath+fileName, null);
System.out.println(compile.getData());
return Result.success(source);
}

View File

@ -75,9 +75,18 @@ public class RuleVersionServiceImpl
@Override
public RuleVersion generatedCode(RuleVersion ruleVersion) {
RuleData ruleData = ruleDataService.getById(ruleVersion.getRuleId());
ruleVersion.setRuleVersionType("generate"+"_"+ruleData.getRuleCoding()+"_"+ruleVersion.getRuleVersionCode());
ruleVersion.setRuleVersionType(getClassName("generate"+"_"+ruleData.getRuleCoding()+"_"+ruleVersion.getRuleVersionCode()));
ruleVersion.setRuleVersionText(GenerateConstant.generateConstant(ruleData,ruleVersion));
return ruleVersion;
}
public static String getClassName(String versionCode){
String[] splits = versionCode.split("_");
String className="";
for (String split : splits) {
className += split.substring(0,1).toUpperCase()+split.substring(1);
}
return className;
}
}