javah通过Maven exec插件执行时失败

时间:2016-08-30 18:01:42

标签: java maven exec-maven-plugin

我在使用Maven exec插件执行Java工具javah时遇到问题。我正在尝试将输出目录指定到javah,其中将放置头文件但是我收到错误:

  

[INFO] --- exec-maven-plugin:1.5.0:exec(create-jni-headers)@jni-test-osgi ---   错误:未知选项:-d / home / kerry   [ERROR]命令执行失败。

这是POM的相关部分:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>create-jni-headers</id>
            <goals>
                <goal>exec</goal>
            </goals>
            <phase>compile</phase>
            <configuration>
                <executable>javah</executable>
                <workingDirectory>${project.build.outputDirectory}</workingDirectory>
                <arguments>
                    <argument>-d /home/kerry</argument>
                    <argument>com.javatechnics.jni.test.osgi.HelloWorld</argument>
                </arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

如果我从命令行执行javah -d /home/kerry com.javatechnics.jni.test.osgi.HelloWorld,则没有问题。

我做错了什么或Maven exec插件有问题吗?

1 个答案:

答案 0 :(得分:0)

每个&#34;论证&#34;必须有自己的一行:

<argument>-d</argument>
<argument>/home/kerry</argument>
<argument>com.javatechnics.jni.test.osgi.HelloWorld</argument>

否则它会以

的形式出现
javah "-d /home/kerry" com.javatechnics.jni.test.osgi.HelloWorld

其中&#34; -d / home / kerry&#34;是javah命令未知的单个参数。因此错误。