如何从ant执行javap

如何从ant执行javap,java,ant,javap,Java,Ant,Javap,我想从ant脚本运行javap命令。Javap命令位于JDK下的bin文件夹中,但是如何在ant脚本中访问JDK路径呢${java.home}指向的是JRE而不是JDK,所以这没有帮助 我正在寻找一种解决方案,它不需要对系统进行任何配置,例如修改路径或设置其他环境变量,如JAVA_HOME。只有在Windows下才能使用的解决方案是可以的。首先,感谢您提出的问题。我不知道这个实用程序,总是使用外部工具,如DJ或JAD进行反编译 第二,我不相信你有一个简单的方法。我很惊讶您必须创建自己的特定于平台

我想从ant脚本运行javap命令。Javap命令位于JDK下的bin文件夹中,但是如何在ant脚本中访问JDK路径呢${java.home}指向的是JRE而不是JDK,所以这没有帮助


我正在寻找一种解决方案,它不需要对系统进行任何配置,例如修改路径或设置其他环境变量,如JAVA_HOME。只有在Windows下才能使用的解决方案是可以的。

首先,感谢您提出的问题。我不知道这个实用程序,总是使用外部工具,如DJ或JAD进行反编译

第二,我不相信你有一个简单的方法。我很惊讶您必须创建自己的特定于平台的机制来定位JDK。将注册表用于windows和类似于链接的命令

ls /bin/java*/bin/javac* | tail -1 

在unix上。

Ant脚本可以读取外部属性文件。一个简单的解决方案是将
JDK_HOME
属性添加到现有的属性文件或Ant脚本中。在此之后,您可以使用
JDK_HOME
作为参考来参考
javap
工具。此解决方案不需要您更改任何系统属性;这里唯一的要求是您需要知道JDK路径。

javap
比您的标准反编译器多得多;查看
javap
提供的各种开关,您会感到惊讶。:-)我的问题是如何首先以编程方式获取JDK路径place@msell:除非JAVA_HOME本身不是JDK_HOME,否则没有明智的方法找到JDK的安装位置。一个更合适的问题是,我们是否可以假设JDK将始终安装?一个特别的解决方案是在文件系统中搜索名为
javap.exe
的文件,但我相信您已经知道这会导致什么样的混乱。:-)