feat():下载OSS至本地编译class
parent
ef11e6025f
commit
09dd035df1
|
@ -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);
|
||||
|
||||
// 检查编译结果
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue