【发布时间】:2010-12-13 06:31:13
【问题描述】:
我想从 ant 脚本运行 javap 命令。 javap命令位于JDK下的bin文件夹中,但是如何在ant脚本中访问JDK路径呢? ${java.home} 指向的是 JRE 而不是 JDK,所以这没有帮助。
我正在寻找一种不需要对系统进行任何配置(例如修改 PATH 或设置 JAVA_HOME 等其他环境变量)的解决方案。仅适用于 Windows 的解决方案很好。
【问题讨论】:
我想从 ant 脚本运行 javap 命令。 javap命令位于JDK下的bin文件夹中,但是如何在ant脚本中访问JDK路径呢? ${java.home} 指向的是 JRE 而不是 JDK,所以这没有帮助。
我正在寻找一种不需要对系统进行任何配置(例如修改 PATH 或设置 JAVA_HOME 等其他环境变量)的解决方案。仅适用于 Windows 的解决方案很好。
【问题讨论】:
Ant 脚本可以读取外部属性文件。一个简单的解决方案是将JDK_HOME 属性添加到现有属性文件或Ant 脚本中。之后,您可以使用JDK_HOME 作为参考来参考javap 工具。此解决方案不需要您更改任何系统属性;这里唯一的要求是你需要知道 JDK 路径。
【讨论】:
javap.exe 的文件,但我敢肯定你已经知道这会带来什么样的混乱。 :-)
首先,感谢您的提问。我不知道这个实用程序,总是使用 DJ 或 JAD 等外部工具进行反编译。
第二,我不相信你有一个简单的方法。我担心您必须创建自己的平台特定机制来定位 JDK。使用 windows 注册表和命令链接,如
ls /bin/java*/bin/javac* | tail -1
在 unix 上。
【讨论】:
javap 远不止你的标准反编译器;查看javap 提供的各种开关,您会感到惊讶。 :-)