问答详情
源自:3-2 完善动态代理实现

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

Exception in thread "main" java.lang.NullPointerException

提问者:葱油拌面 2017-09-22 14:52

个回答

  • 慕斯卡7366301
    2019-04-15 05:09:52

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

  • 慕码人5302264
    2018-07-25 09:58:15

    lib目录下没有tools.jar


  • 0815_
    2018-05-19 14:57:43

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

    查看ToolProvider的源码

    https://img.mukewang.com/5affca3000016b0408560495.jpg

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

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


  • 冰bin
    2018-01-12 11:34:05

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


  • 指尖触动
    2017-10-10 16:56:23

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