Changes
parent
9adea7261f
commit
20ed0dfb52
|
@ -0,0 +1,53 @@
|
|||
package com.muyu.rule.compile;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class CompileJavaFile {
|
||||
// 假设我们要编译的Java文件在同一目录下,文件名为"HelloWorld.java"
|
||||
String javaFileName = "HelloWorld.java";
|
||||
// 编译后的类文件将具有相同的名称,但扩展名为".class"
|
||||
String classFileName = javaFileName.substring(0, javaFileName.lastIndexOf('.')) + ".class";
|
||||
|
||||
// 设置编译命令
|
||||
// 注意:这里假设JDK的bin目录已经添加到了系统的PATH环境变量中
|
||||
// 如果没有,你需要指定javac命令的完整路径,例如:"C:\\Program Files\\Java\\jdk-xx\\bin\\javac"
|
||||
ProcessBuilder processBuilder = new ProcessBuilder(
|
||||
"javac",
|
||||
javaFileName
|
||||
);
|
||||
|
||||
|
||||
public ProcessBuilder getProcessBuilder() {
|
||||
// 启动编译过程
|
||||
try {
|
||||
Process process = processBuilder.start();
|
||||
|
||||
// 读取编译过程的输出(如果有的话)
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
|
||||
String line;
|
||||
while ((line = reader.readLine()) != null) {
|
||||
System.out.println("Output: " + line);
|
||||
}
|
||||
|
||||
|
||||
// 等待编译过程结束
|
||||
int exitCode = process.waitFor();
|
||||
if (exitCode == 0) {
|
||||
System.out.println("Compilation successful. Class file created: " + classFileName);
|
||||
} else {
|
||||
// 读取编译错误(如果有的话)
|
||||
BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
|
||||
while ((line = errorReader.readLine()) != null) {
|
||||
System.err.println("Error: " + line);
|
||||
}
|
||||
System.out.println("Compilation failed.");
|
||||
}
|
||||
|
||||
} catch (IOException | InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return processBuilder;
|
||||
}
|
||||
}
|
|
@ -39,7 +39,7 @@ public class UploadOss {
|
|||
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
|
||||
|
||||
// 上传到OSS后文件保存的目录,例如:folder/subfolder/,最后以斜杠结尾
|
||||
String objectName = "rule/"+fileName+".java";
|
||||
String objectName = fileName+".java";
|
||||
|
||||
try {
|
||||
// 将内容转换为字节数组输入流
|
||||
|
@ -51,6 +51,8 @@ public class UploadOss {
|
|||
// 执行上传操作
|
||||
ossClient.putObject(putObjectRequest);
|
||||
|
||||
|
||||
|
||||
return Result.success(null,"文件"+fileName+".java"+"存储成功");
|
||||
|
||||
} catch (Exception e) {
|
||||
|
|
Loading…
Reference in New Issue