我想编译jdk文件以包含调试信息。我想使用ant,因为它已经包含在我的NetBeans环境中,所以我做了以下操作:
- 在一个临时目录中解压/src.zip
- 在我的临时目录中创建一个非常简单的build.xml文件(一个默认目标,一个任务):
<?xml version="1.0" encoding="UTF-8"?> <project name="CompileJDK" default="default" basedir="."> <target name="default"> <javac srcdir="." destdir="jdkwd" debug="on" /> </target> </project>
- 创建一个名为jdkwd的目录
- 无参数启动ant(只有 >log.txt)
这会导致100个编译错误,例如:
[javac] C:\jdkdebug\java\awt\Window.java:196: cannot find symbol
[javac] symbol : class IdentityArrayList
[javac] location: class java.awt.Window
[javac] private static final IdentityArrayList<Window> allWindows = new IdentityArrayList<Window>();
我在我的计算机上只安装了一个JDK,所以我不知道为什么它无法解决所有这些引用。
更新: 这些未解决的引用中大部分都属于以下包:
sun.awt.util
现在问题已经被更正为:缺失的 JDK 文件在哪里?