我想编译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>
- 创建了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文件在哪里?
构建 JDK 本身是一个复杂的过程,不是简单的就能实现的javac
调用包装在ant
项目。
你应该看看OpenJDK 构建自述文件 http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html获取有关如何构建您的平台的说明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)