0

我正在关注有关为 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 文件,所以我使用这些说明生成了一个。然后我添加了如上所示的命令。但是当我使用 ant 脚本构建时,.h 文件没有构建。不会生成与此相关的错误消息。

我相信原因是因为 Eclipse 项目没有示例中所示的“./build”文件夹,但我不知道该放什么。有人可以让我知道如何解决这个问题吗?

4

1 回答 1

1

首先,假设您的 Eclipse 项目文件夹结构是这样的:

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

上述文件夹应在您的 Java 构建路径中配置(请参阅项目 > 属性)。您需要自己创建以下文件夹和文件(只需右键单击 > 新建...)。

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 中看到一个文件。

于 2013-04-03T19:08:29.457 回答