2016-08-30 2 views
0

Ich habe ein Problem mit dem Maven exec plugin, um das Java Tool javah auszuführen. Ich versuche, das Ausgabeverzeichnis zu javah angeben wo die Header-Dateien platziert werden sollen, aber ich bekomme die Fehlermeldung:javah schlägt fehl, wenn es über Maven ausgeführt wird exec plugin

[INFO] --- exec-maven-plugin:1.5.0:exec (create-jni-headers) @ jni-test-osgi --- Error: unknown option: -d /home/kerry [ERROR] Command execution failed.

Dies ist der entsprechende Abschnitt des 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> 

Wenn ich javah -d /home/kerry com.javatechnics.jni.test.osgi.HelloWorld ausführen Von einer Befehlszeile gibt es dann kein Problem.

Mache ich etwas falsch oder gibt es ein Problem mit dem Maven exec Plugin?

Antwort

0

Jede "Argument" muss seine eigene Linie hat:

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

Ansonsten kommt es als

durch
javah "-d /home/kerry" com.javatechnics.jni.test.osgi.HelloWorld 

wo "-d/home/kerry" ein einziges Argument ist, das unbekannt ist der javah Befehl. Daher der Fehler.

+0

Ich dachte, ich hätte das versucht, aber offensichtlich nicht! Danke vielmals. – Kerry

Verwandte Themen