【问题标题】:How to execute javap from ant如何从ant执行javap
【发布时间】:2010-12-13 06:31:13
【问题描述】:

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

我正在寻找一种不需要对系统进行任何配置(例如修改 PATH 或设置 JAVA_HOME 等其他环境变量)的解决方案。仅适用于 Windows 的解决方案很好。

【问题讨论】:

    标签: java ant javap


    【解决方案1】:

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

    【讨论】:

    • 我的问题是如何首先以编程方式获取JDK路径
    • @msell:除非 JAVA_HOME 本身不是 JDK_HOME,否则没有理智的方法可以找出 JDK 的安装位置。一个更合适的问题是,我们可以假设 JDK 将始终安装吗?一个特别的解决方案是搜索 文件系统中一个名为javap.exe 的文件,但我敢肯定你已经知道这会带来什么样的混乱。 :-)
    【解决方案2】:

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

    第二,我不相信你有一个简单的方法。我担心您必须创建自己的平台特定机制来定位 JDK。使用 windows 注册表和命令链接,如

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

    在 unix 上。

    【讨论】:

    • javap 远不止你的标准反编译器;查看javap 提供的各种开关,您会感到惊讶。 :-)
    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多