求解!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;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
参考 : https://my.oschina.net/u/3759677/blog/2995897