为了账号安全,请及时绑定邮箱和手机立即绑定

StandardJavaFileManager fileMgr=compiler.getStandardFileManager(null, null, null);

Exception in thread "main" java.lang.NullPointerException

正在回答

5 回答

https://blog.csdn.net/hj7jay/article/details/79784665

0 回复 有任何疑惑可以回复我~
#1

慕斯卡7366301

这个可以解决JRE换成JDK,项目默认的是JRE,里面没有编译.java文件所需的命令,所以得换成JDK。
2019-04-15 回复 有任何疑惑可以回复我~

lib目录下没有tools.jar


1 回复 有任何疑惑可以回复我~

直接说就是找不到jdk lib目录下tools.jar文件,没法编译

查看ToolProvider的源码

https://img1.sycdn.imooc.com//5affca3000016b0408560495.jpg

它编译文件时,会找到JAVA_HOME的jre\lib\tools.jar,但是tools.jar并不在jre/lib中,它是在jdk的安装目录lib下

手动把这个jar文件从jdk目录下拷贝到了jre目录下,再次运行上面的代码就没有问题了!


1 回复 有任何疑惑可以回复我~

楼主解决了吗,我也遇到同样的问题


0 回复 有任何疑惑可以回复我~

可能是JDK版本的问题,视频中有提到

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
模式的秘密---代理模式
  • 参与学习       54912    人
  • 解答问题       98    个

本节课程将带你领略Java编程语言中代理模式的奥妙

进入课程

StandardJavaFileManager fileMgr=compiler.getStandardFileManager(null, null, null);

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信