feat():测试

yuan
yuan 2024-09-03 12:15:39 +08:00
parent 35576979c4
commit d477fc9662
1 changed files with 9 additions and 31 deletions

View File

@ -59,40 +59,18 @@ 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();
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int results = compiler.run(null, null, null, "/home");
System.out.println((results == 0)?"编译成功":"编译失败");
}catch (Exception e){ }catch (Exception e){
log.error(e); log.error(e);
} }
} }
// try {
// // 初始化 fileManager此处省略假设您已有此步骤
//
// // 创建一个包含所有依赖 JAR 文件的类路径列表
// List<String> classpath = Arrays.asList(
// "/home/app.jar"
// );
//
// // 通过源文件获取到想要编译的 JavaFileObjects
// Iterable<? extends JavaFileObject> javaFileObjects = fileManager.getJavaFileObjectsFromFiles(Arrays.asList(file));
//
// // 生成编译任务,包含类路径
// JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, null,
// Collections.singletonList("-d"), null, classpath, javaFileObjects);
//
// // 执行编译任务
// boolean success = task.call();
// if (!success) {
// throw new RuntimeException("Compilation failed");
// }
// } catch (Exception e) {
// // 适当的错误处理
// e.printStackTrace(); // 或使用日志记录
// }
} }