Java——java.lang.NullPointerException

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager =  compiler.getStandardFileManager(null, null, null); 

第二行代码报错:java.lang.NullPointerException

问题原因是ToolProvider.getSystemJavaCompiler();获取到的compiler为null,具体原因是找不到jdk/lib下的Tools.jar包

解决方法:查看环境变量JAVA_HOME的值的目录下是否有该jar包,若没有,复制一个进去

第二种原因:jdk上传服务器的时候,采用不当的上传方式也会造成找不到Tools.jar包,之后的解决方式是把jdk打成tar压缩包发到服务器再解压缩解决的。

扩展:一般报NullPointerExcetpion是因为调用方法的隐式参数为空造成的

原文地址:https://www.cnblogs.com/it-mh/p/11337983.html