开发者社区 问答 正文

求解!spring boot 使用StandardJavaFileManager?400报错

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

我用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;

 

展开
收起
爱吃鱼的程序员 2020-05-30 22:14:50 930 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

    2020-05-30 22:14:51
    赞同 展开评论
问答分类:
问答标签:
问答地址: