Eclipse Ant构建脚本中的Javah命令

时间:2013-04-03 00:58:23

标签: java eclipse ant java-native-interface

我跟随this tutorial关于为Mac OS X创建JNI文件。本教程是为NetBeans编写的,但我尝试使用Eclipse进行操作。不幸的是,这导致我陷入了步骤4.1.3,即使用ant:

生成.h文件
  

通过添加来修改Netbeans项目的build.xml文件   在结束标记之前跟随:

<target name="-post-compile">
         <javah 
             destdir="./build" 
             force="yes" 
             class="ca.weblite.jniexample.NSSavePanel" 
             classpath="./build/classes"
         /> </target>

首先,Eclipse项目似乎默认不包含build.xml文件,因此我使用these instructions生成一个。然后我添加了如上所示的命令。但是当我使用ant脚本构建时,.h文件无法构建。没有生成与此相关的错误消息。

我认为原因是因为Eclipse项目没有&#34; ./ build&#34;文件夹如示例所示,但我不知道该放在哪里。请问有谁可以告诉我如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

首先,让我们假设你的Eclipse项目文件夹结构是这样的:

src/ (source files)
bin/ (compiled class files)

应在Java Build Path中配置上述文件夹(请参阅Project&gt; Properties)。您需要自己创建以下文件夹和文件(只需右键单击&gt;新...)。

build/ (build products)
build.xml  (build script)

在每个binsrc文件夹中,您应该有一个子目录结构,如:

ca
|--weblite
      |--jniexample

src / ca /​​ weblite / jniexample / NSSavePanel.java应该有一个源文件。在bin / ca /​​ weblite / jniexample / NSSavePanel.class中应该有一个已编译的类文件。

您的build.xml文件应如下所示:

<project name="Build" default="-post-compile">
  <target name="-post-compile">
    <javah destdir="./build" force="yes" class="ca.weblite.jniexample.NSSavePanel" classpath="./bin" />
  </target>
</project>

执行构建脚本后,您应该在build / ca_weblite_jniexampe_NSSavePanel.h上看到一个文件。