可以获取 ants javah 命令行吗?
Possible to get ant's javah commandline?
蚂蚁任务:
<target name="regenerateJNIHeader" description="Re-generates the JNI header">
<echo message="Re-generating JNI header" />
<attrib readonly="false">
<fileset dir="." includes="**/MyAPI*.h"/>
</attrib>
<javah class="com.MyAPI" force="yes" verbose="yes"/>
</target>
问题是,我对 MyAPI 进行了更改(添加了一个方法),但是,尽管清除了头文件并编译了 class 文件,当我 运行 这个任务时,我的新方法是未添加。如果我运行javah com.MyAPI
,它工作正常。
是否可以在执行 ant 任务时查看命令行?
问题已解决。不完全是我要问的,但我找到了我需要的信息。
我将 ant 命令行设置为 -v
(详细),它打印出更多信息。在输出中,我看到了我没有设置的 class 路径。将 classpath
属性添加到 javah 任务并将其设置为 "."
,现在生成的 header 包含我的新方法。
我猜测,尽管没有在 class 路径中明确提及它(在 javah 任务详细输出中),它一定是在我的 jar 中寻找指定的 class放在 $JAVA_HOME/jre/lib/ext
.
蚂蚁任务:
<target name="regenerateJNIHeader" description="Re-generates the JNI header">
<echo message="Re-generating JNI header" />
<attrib readonly="false">
<fileset dir="." includes="**/MyAPI*.h"/>
</attrib>
<javah class="com.MyAPI" force="yes" verbose="yes"/>
</target>
问题是,我对 MyAPI 进行了更改(添加了一个方法),但是,尽管清除了头文件并编译了 class 文件,当我 运行 这个任务时,我的新方法是未添加。如果我运行javah com.MyAPI
,它工作正常。
是否可以在执行 ant 任务时查看命令行?
问题已解决。不完全是我要问的,但我找到了我需要的信息。
我将 ant 命令行设置为 -v
(详细),它打印出更多信息。在输出中,我看到了我没有设置的 class 路径。将 classpath
属性添加到 javah 任务并将其设置为 "."
,现在生成的 header 包含我的新方法。
我猜测,尽管没有在 class 路径中明确提及它(在 javah 任务详细输出中),它一定是在我的 jar 中寻找指定的 class放在 $JAVA_HOME/jre/lib/ext
.