zoukankan      html  css  js  c++  java
  • ToolProvider.getSystemJavaCompiler()获取Java编译器空指针异常

    先说结论:JRE目录下的 /lib 目录里的 tools.jar 丢失,可以从对应 JDK 的 /lib 文件里复制一份,也可以重新 Installs JREs ,推荐后者。


     学习Java动态编译的时候,免不了获取Java编译器。而运行起来,有个空指针异常。

     

    按住Ctrl点击getSystemJavaCompiler(),会跳转到找不到源码的界面。

    Change Attached Source的时候,你就会惊奇的发现你连 tools.jar 包都找不到。众所周知,jre 是Java Runtime Environment,运行环境里连对应的 jar 包都没,自然会报空指针。

    最简单的办法就是从 JDK 文件中复制一份过来再次运行。

    此时你按住 Ctrl 点击查看源码的时候,仍然会找不到源码,虽然程序可以跑起来。典型的治标不治本。

    点击 Eclipse 导航栏的 Window --> Java --> Installs JREs , 把旧的 jre 库 Remove 掉,Add 一个新的,JRE Type 选择 Strandard VM,然后浏览目录,选择 JDK 文件夹(这里表面提示是JRE目录,建议选择JDK文件夹)。

     然后点 Finish,回到界面,将新增的 JRE 库前面对号勾选上,Apply and Close 掉。这样就可以查看源码了。

    作者:墨猴
    感觉对您有帮助的话,就点个推荐吧!~( ̄▽ ̄)~*
  • 相关阅读:
    测试文档
    详细文档
    需求规格说明文档
    会议
    软工项目
    分组
    项目名
    google 常用的搜索关键词 (技术相关)
    Kafka 入门和 Spring Boot 集成
    用nginx实现分布式限流
  • 原文地址:https://www.cnblogs.com/mohou/p/12505410.html
Copyright © 2011-2022 走看看