在pom.xml中打开JDK 11和javah

时间:2019-01-03 10:19:44

标签: java maven pom.xml java-11

我将Java版本从Java 8切换到Java 11,似乎在Java 11中,从JDK bin文件夹中删除了javah,然后才像下面那样在pom.xml中执行javah命令

<execution>
      <id>javah</id>
      <goals>
         <goal>exec</goal>
      </goals>
      <phase>compile</phase>
      <configuration>
          <executable>javah</executable>
              <arguments>
                  <argument>-classpath</argument>
                  <argument>${project.build.outputDirectory}</argument>
                  <argument>-d</argument>
                  <argument>${build.path}/include</argument>
               </arguments>
      </configuration>
 </execution>

由于Javah已从JDK 11中删除,我如何在pom中将上述javah命令替换为javac -h以与Java 11一起使用

我得到的错误是

无法在项目myProject上执行目标org.codehaus.mojo:exec-maven-plugin:1.6.0:exec(javac -h):命令执行失败。:进程退出,错误:2(退出值:2) )

有什么主意吗? 谢谢

1 个答案:

答案 0 :(得分:4)

您应该将执行方式修改为:

<execution>
    <id>javach</id>
    <goals>
        <goal>exec</goal>
    </goals>
    <phase>compile</phase>
    <configuration>
        <executable>javac</executable>
        <arguments>
            <argument>-classpath</argument>
            <argument>${project.build.outputDirectory}</argument>
            <argument>-h</argument>
            <argument>${build.path}/include</argument>
        </arguments>
    </configuration>
</execution>

基于javac --help

  -h <directory>
        Specify where to place generated native header files