我想编译 jdk 文件以包含调试信息。
我想使用 ant,因为它包含在我的 NetBeans 环境中,所以我完成了以下操作:
- 解压/src.zip 到 tmp 目录
- 在我的 tmp 目录中创建了一个非常简单的 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>
- created a jdkwd directory
- launched ant without parameters (just >log.txt)
This leads to 100 compilation errors such as:
[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,所以我不知道为什么它不能解析所有这些引用。
更新: 这些 Unresolved 引用中的大多数都属于包:
sun.awt.util
现在的问题更正为:丢失的jdk文件在哪里?
最佳答案
构建 JDK 本身是一个复杂的过程,无法通过包裹在 ant
项目中的简单 javac
调用来实现。
你应该看看 OpenJDK Build README获取有关如何为您的平台构建的说明。
关于ant - 通过ant编译jdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8226009/