feat():测试

yuan
yuan 2024-09-03 14:22:35 +08:00
parent 23d2802083
commit 38ebdfe04a
2 changed files with 19 additions and 8 deletions

View File

@ -76,9 +76,9 @@ public class OSSFileLoad {
} }
//对路径里的.java文件进行编译 //对路径里的.java文件进行编译
System.out.println("第一步"); System.out.println("第一步");
SourceCodeCompiler.javaCompilerPath("home/"); SourceCodeCompiler.javaCompilerFile("home/"+fileName);
System.out.println("第二步"); System.out.println("第二步");
File outputDir = new File("home/com/muyu/generate"); // 或者是你指定的其他输出目录 File outputDir = new File("home/"); // 或者是你指定的其他输出目录
System.out.println("第三步"); System.out.println("第三步");
File[] classFiles = outputDir.listFiles(); // 获取输出目录中的所有文件 File[] classFiles = outputDir.listFiles(); // 获取输出目录中的所有文件
if (classFiles != null) { if (classFiles != null) {

View File

@ -59,12 +59,23 @@ public class SourceCodeCompiler {
*/ */
public static void javaCompiler(File...file){ public static void javaCompiler(File...file){
try { try {
// //通过源文件获取到想要编译的java类源代码迭代器包括所有的内部类其中每一个类都是一个JavaFileObjects也被称为一个汇编单元 //通过源文件获取到想要编译的java类源代码迭代器包括所有的内部类其中每一个类都是一个JavaFileObjects也被称为一个汇编单元
// Iterable<? extends JavaFileObject> javaFileObjects = fileManager.getJavaFileObjects(file); Iterable<? extends JavaFileObject> javaFileObjects = fileManager.getJavaFileObjects(file);
// //生成编译任务 //生成编译任务
// JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, Arrays.asList("-d","home/"), null, javaFileObjects); JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null, Arrays.asList("-d","home/"), null, javaFileObjects);
// //执行编译任务 //执行编译任务
// task.call(); task.call();
}catch (Exception e){
log.error(e);
}
}
/**
*java
* @param filePath
*/
public static void javaCompilerFile(String filePath){
try {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int results = compiler.run(null, null, null, "/home/GenerateEmailSAW.java"); int results = compiler.run(null, null, null, "/home/GenerateEmailSAW.java");
System.out.println((results == 0)?"编译成功":"编译失败"); System.out.println((results == 0)?"编译成功":"编译失败");