问题描述
如何创建不在系统上的JavaCompiler
实例?更具体地说,我希望能够从版本号创建一个JavaCompiler
实例。
我看到的创建JavaCompiler
实例的唯一技术是
-
使用
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler()
。 -
使用
JavaCompiler compiler = new JavacTool()
-
找到用于编译器的tools.jar文件,然后使用以下代码。问题是自JDK 9起,tools.jar已被删除
File file = new File(pathToToolsJar); URL[] urls = new URL[]{ file.toURI().toURL() }; ClassLoader loader = new urlclassloader(urls); Class compilerClass = loader.loadClass("com.sun.tools.javac.api.JavacTool"); JavaCompiler compiler = (JavaCompiler) compilerClass.getConstructor().newInstance();
反正有为任何Java版本创建JavaCompiler
实例吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)