native:javah
Full name:
org.codehaus.mojo:native-maven-plugin:1.0.0:javah
Description:
Generate JNI include files based on a set of class names
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
compile. - The goal is not marked as thread-safe and thus does not support parallel builds.
- Binds by default to the lifecycle phase:
generate-sources.
Required Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<incZipFile> |
File |
1.0-alpha-8 |
Archive file to bundle all generated include files if enable by ${attach} Default: ${project.build.directory}/${project.build.finalName}.inczip |
<javahOutputDirectory> |
File |
1.0-alpha-2 |
Where to place javah generated file Default: ${project.build.directory}/native/javah |
<javahProvider> |
String |
1.0-alpha-2 |
Javah Provider. Default: default |
<workingDirectory> |
File |
- |
user directory when external tools( ie compiler/linker ) are invoked Default: ${basedir} |
Optional Parameters
| Name | Type | Since | Description |
|---|---|---|---|
<attach> |
boolean |
- |
Archive all generated include files and deploy as an inczip Default: false |
<classifier> |
String |
- |
Classifier name when install/deploy generated includes file. See ${attach} for details Default: javah |
<dependencyIncludeDirectory> |
File |
- |
Directory to unpack .inczip dependency files to be included as system include path Default: ${project.build.directory}/native/include |
<envFactoryName> |
String |
- |
Specifies a fully qualified class name implementing the org.codehaus.mojo.natives.EnvFactory interface. The class creates a set environment variables to be used with the command line. |
<javahClassNames> |
List<String> |
1.0-alpha-4 |
List of class names to generate native files. Additional JNI interface will automatically discovered from project's dependencies of jar type, when javahSearchJNIFromDependencies is true |
<javahIncludes> |
List<JavahInclude> |
1.0-alpha-8 |
Additional javah classname and its corresponding header name. Use this option to create one class per header
<javahIncludes>
<javahInclude>
<className>com.some.Class</className>
<headerName>Class.h</headerName>
<javahInclude>
</javahIncludes>
|
<javahOutputFileName> |
String |
1.0-alpha-4 |
if configured, this value will be combined with outputDirectory to pass into javah's -o option |
<javahPath> |
File |
1.0-alpha-2 |
Path to javah executable, if present, it will override the default one which bases on architecture type. See 'javahProvider' argument |
<javahSearchJNIFromDependencies> |
boolean |
1.0-alpha-4 |
Enable the search from project dependencies for JNI interfaces, in addition to javahClassNames Default: false |
<javahVerbose> |
boolean |
1.0-alpha-2 |
Enable javah verbose mode Default: false |
<skip> |
boolean |
1.0-M2 |
Set to true to skip the execution of native plugin mojos. Default: falseUser Property: native.skip |
<useEnvClasspath> |
boolean |
1.0-alpha-9 |
Set CLASSPATH env variable instead of using -classpath command-line argument. Use this option to allow large number of jars in classpath due to command line size limit under Windows Default: false |
Parameter Details
<attach>
Archive all generated include files and deploy as an inczip
- Type:
boolean - Required:
No - Default:
false
<classifier>
Classifier name when install/deploy generated includes file. See ${attach} for details
- Type:
java.lang.String - Required:
No - Default:
javah
<dependencyIncludeDirectory>
Directory to unpack .inczip dependency files to be included as system include path
- Type:
java.io.File - Required:
No - Default:
${project.build.directory}/native/include
<envFactoryName>
Specifies a fully qualified class name implementing the org.codehaus.mojo.natives.EnvFactory interface. The class creates a set environment variables to be used with the command line.
- Type:
java.lang.String - Required:
No
<incZipFile>
Archive file to bundle all generated include files if enable by ${attach}
- Type:
java.io.File - Since:
1.0-alpha-8 - Required:
Yes - Default:
${project.build.directory}/${project.build.finalName}.inczip
<javahClassNames>
List of class names to generate native files. Additional JNI interface will automatically discovered from project's dependencies of jar type, when javahSearchJNIFromDependencies is true
- Type:
java.util.List<java.lang.String> - Since:
1.0-alpha-4 - Required:
No
<javahIncludes>
Additional javah classname and its corresponding header name. Use this option to create one class per header
<javahIncludes>
<javahInclude>
<className>com.some.Class</className>
<headerName>Class.h</headerName>
<javahInclude>
</javahIncludes>
- Type:
java.util.List<org.codehaus.mojo.natives.plugin.JavahInclude> - Since:
1.0-alpha-8 - Required:
No
<javahOutputDirectory>
Where to place javah generated file
- Type:
java.io.File - Since:
1.0-alpha-2 - Required:
Yes - Default:
${project.build.directory}/native/javah
<javahOutputFileName>
if configured, this value will be combined with outputDirectory to pass into javah's -o option
- Type:
java.lang.String - Since:
1.0-alpha-4 - Required:
No
<javahPath>
Path to javah executable, if present, it will override the default one which bases on architecture type. See 'javahProvider' argument
- Type:
java.io.File - Since:
1.0-alpha-2 - Required:
No
<javahProvider>
Javah Provider.
- Type:
java.lang.String - Since:
1.0-alpha-2 - Required:
Yes - Default:
default
<javahSearchJNIFromDependencies>
Enable the search from project dependencies for JNI interfaces, in addition to javahClassNames
- Type:
boolean - Since:
1.0-alpha-4 - Required:
No - Default:
false
<javahVerbose>
Enable javah verbose mode
- Type:
boolean - Since:
1.0-alpha-2 - Required:
No - Default:
false
<skip>
Set to true to skip the execution of native plugin mojos.
- Type:
boolean - Since:
1.0-M2 - Required:
No - User Property:
native.skip - Default:
false
<useEnvClasspath>
Set CLASSPATH env variable instead of using -classpath command-line argument. Use this option to allow large number of jars in classpath due to command line size limit under Windows
- Type:
boolean - Since:
1.0-alpha-9 - Required:
No - Default:
false
<workingDirectory>
user directory when external tools( ie compiler/linker ) are invoked
- Type:
java.io.File - Required:
Yes - Default:
${basedir}

