求解!spring boot 使用StandardJavaFileManager动态加载java文件遇到问题

季末晚枫 发布于 2018/12/29 17:41
阅读 207
收藏 1

我用spring boot搭建一个web环境,想实现动态加载一个外部的java文件,编译并运行得到结果。

大概代码如下:

//获取java文件管理类
StandardJavaFileManager manager = compiler.getStandardFileManager(null, null, null);
//获取java文件对象迭代器
Iterable<? extends JavaFileObject> it = manager.getJavaFileObjects(files);
//设置编译参数
ArrayList<String> ops = new ArrayList<String>();
//设置classpath
ops.add("-classpath");
ops.add(“classpath:”);
//获取编译任务
JavaCompiler.CompilationTask task = compiler.getTask(null, manager, null, ops, null, it);
//执行编译任务
task.call();

但是,我外部的java文件是含有第三方jar包的(这些jar包,我的spring boot工程全部含有)。

在eclipse下运行时,一切顺利,但当我将spring boot打包成jar包,使用java -jar 的方式运行的时候,这段代码在编译java文件时出错,提示

error: package org.jsoup does not exist
import org.jsoup.Jsoup;

 

加载中
0
季末晚枫
季末晚枫

参考 : https://my.oschina.net/u/3759677/blog/2995897

返回顶部
顶部