测试编译class文件

master
Qin Dong Ming 2024-09-05 19:59:35 +08:00
parent 04b478ca66
commit fba9f67e27
1 changed files with 28 additions and 0 deletions

View File

@ -1,5 +1,7 @@
package com.muyu.context; package com.muyu.context;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.GetObjectRequest;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.domain.EngineMaintenance; import com.muyu.domain.EngineMaintenance;
import com.muyu.domain.EngineVersion; import com.muyu.domain.EngineVersion;
@ -8,6 +10,7 @@ import org.springframework.stereotype.Component;
import javax.tools.JavaCompiler; import javax.tools.JavaCompiler;
import javax.tools.ToolProvider; import javax.tools.ToolProvider;
import java.io.File;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
@ -20,6 +23,17 @@ public class GenerateConstant {
public static final String ACTION_IMPORT = "import com.muyu.abstracts.DataValue;"; public static final String ACTION_IMPORT = "import com.muyu.abstracts.DataValue;";
public static final String SCOPE_IMPORT = "import com.muyu.engine.basic.abstracts."; public static final String SCOPE_IMPORT = "import com.muyu.engine.basic.abstracts.";
public static final String PACKAGE_PATH = "package com.muyu.generate;\n"; public static final String PACKAGE_PATH = "package com.muyu.generate;\n";
private static final String endpoint = "https://oss-cn-shanghai.aliyuncs.com";
private static final String accessKeyId = "LTAI5t8LmMHfW8ckPaAZR6oQ";
private static final String accessKeySecret = "pwzEwkpxcTFgurkARyr7sG7V6syc9x";
private static final String bucketName = "011811";
// OSS文件路径
private static final String filePath = "build/rule/version/";
private static final String fileName = "engine";
public static String getClassName(String versionCode) { public static String getClassName(String versionCode) {
String[] splits = versionCode.split("_"); String[] splits = versionCode.split("_");
@ -70,6 +84,20 @@ public class GenerateConstant {
} }
public static void localDownload() {
try {
// 创建 OSSClient 实例
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 下载Object到本地文件并保存到指定的本地路径中。如果指定的本地文件存在会覆盖不存在则新建。
// 如果未指定本地路径,则下载后的文件默认保存到示例程序所属项目对应本地路径中。
ossClient.getObject(new GetObjectRequest(bucketName, fileName), new File(filePath));
// 关闭OSSClient。
ossClient.shutdown();
} catch (Exception e) {
e.fillInStackTrace();
}
}
public static Result<Object> compile(String fileName) { public static Result<Object> compile(String fileName) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
String[] strings = {"-classpath", "/home/lib", "-verbose", "-d", "/home/lib", fileName+".java"}; String[] strings = {"-classpath", "/home/lib", "-verbose", "-d", "/home/lib", fileName+".java"};