Relates :
|
|
Relates :
|
JDK-8191054 :
|
|
JDK-8191354 :
|
|
JDK-8194127 :
|
Summary ------- Remove the `javah` tool from the JDK. Motivation ---------- The tool has been superseded by superior functionality in javac, added in JDK 8 ([JDK-7150368](https://bugs.openjdk.java.net/browse/JDK-7150368)). This functionality provides the ability to write native header files at the time that Java source code is compiled, thereby eliminating the need for a separate tool. Focusing on the support provided by `javac` eliminates the need to upgrade `javah` to support recent new paradigms, such as API access via the Compiler API in `javax.tools.*`, or the new `java.util.spi.ToolProvider` SPI added in JDK 9. Description ----------- Implementing the removal will include removing the affected files from the Mercurial repositories, including documentation files, as well as supporting makefile changes. Testing ------- Any testing will be limited to verifying the `javah` command is not present. Risks and Assumptions --------------------- There are no engineering issues with excising `javah` from the JDK, because the tool is no longer used by JDK, or when building the JDK. Users have been warned of the pending removal since JDK 9, in which a warning is generated each time the `javah` tool is invoked. Dependences ----------- There are no direct JDK dependences on the `javah` tool. Externally, there are some derivatives of `javah`, such as the Ant [javah task](https://ant.apache.org/manual/Tasks/javah.html), but just as users of the `javah` command are recommended to use `javac -h`, so too are users of these dependences are recommended to use instead the corresponding support provided for `javac`.