本人刚刚接触Java虚拟机方面的知识,看了一下《深入理解Java虚拟机一书》,但刚刚开始编译就遇到了问题,make sanity编译成功,但make之后出现的错误如下:
build-bootstrap-javac:
    [javac] Compiling 95 source files to /home/xlf/jdk7u-dev/build/langtools/build/bootstrap/classes
    [javac] /home/xlf/jdk7u-dev/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java:2182: warning: [overrides] Class Resolve.InapplicableSymbolsError.Candidate overrides equals, but neither it nor any superclass overrides hashCode method
    [javac]         private class Candidate {
    [javac]                 ^
    [javac] error: warnings found and -Werror specified
    [javac] 1 error
    [javac] 1 warningBUILD FAILED
/home/xlf/jdk7u-dev/langtools/make/build.xml:452: The following error occurred while executing this line:
/home/xlf/jdk7u-dev/langtools/make/build.xml:795: Compile failed; see the compiler error output for details.Total time: 3 seconds
make[2]: *** [build] Error 1
make[2]: Leaving directory `/home/xlf/jdk7u-dev/langtools/make'
make[1]: *** [langtools-build] Error 2
make[1]: Leaving directory `/home/xlf/jdk7u-dev'
make: *** [build_product_image] Error 2
不太明白是为什么,希望有大神能够指教一下!不胜感激!!!

解决方案 »

  1.   

    http://www.docjar.com/html/api/com/sun/tools/javac/comp/Resolve.java.html看了下这个类Resolve.InapplicableSymbolsError.Candidate
    确实没有override hashCode method
    有可能是你用的javac版本低了
      

  2.   

    我的java版本是1.8.0_25的呀!
      

  3.   

    高级,自己玩jdk源码
      

  4.   

    我的java版本是1.8.0_25的呀!
    我看到make是出自jdk7的文件夹,这里有什么启示吗?
    /home/xlf/jdk7u-dev/langtools/make'
      

  5.   

    把bootstrap jdk 换成oracle 的 jdk6就好了
      

  6.   

    me too ,i will try lower the  sun jdk versiom 
      

  7.   

    遇到同样问题,SUN JDK换为JDK1.7就可以