diff --git a/arthas-vmtool/pom.xml b/arthas-vmtool/pom.xml index 9766bf3c4..653a58287 100644 --- a/arthas-vmtool/pom.xml +++ b/arthas-vmtool/pom.xml @@ -60,6 +60,69 @@ <os_arch_option>-m64</os_arch_option> <lib_name>libArthasJniLibrary-x64.dll</lib_name> </properties> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>native-maven-plugin</artifactId> + <version>1.0-alpha-11</version> + <extensions>true</extensions> + <configuration> + <javahIncludes> + <javahInclude> + <className>arthas.VmTool</className> + </javahInclude> + </javahIncludes> + <jdkIncludePath>${project.basedir}/src/main/native/head</jdkIncludePath> + <javahOS>${os_name}</javahOS> + <sources> + <source> + <directory>src/main/native/src</directory> + <fileNames> + <fileName>jni-library.cpp</fileName> + </fileNames> + </source> + </sources> + + <compilerProvider>generic-classic</compilerProvider> + <compilerExecutable>g++</compilerExecutable> + <compilerStartOptions> + <compilerStartOption>${os_arch_option}</compilerStartOption> + <compilerStartOption>-fpic</compilerStartOption> + <compilerStartOption>-shared</compilerStartOption> + <compilerStartOption>-o</compilerStartOption> + </compilerStartOptions> + + <linkerOutputDirectory>target</linkerOutputDirectory> + <linkerExecutable>g++</linkerExecutable> + <linkerStartOptions> + <linkerStartOption>${os_arch_option}</linkerStartOption> + <linkerStartOption>-fpic</linkerStartOption> + <linkerStartOption>-shared</linkerStartOption> + <linkerStartOption>-o</linkerStartOption> + <!-- for windows #1833 --> + <linkerStartOption>-static-libstdc++</linkerStartOption> + <linkerStartOption>-static</linkerStartOption> + </linkerStartOptions> + <linkerEndOptions> + <linkerEndOption>-o ${project.build.directory}/${lib_name}</linkerEndOption> + </linkerEndOptions> + </configuration> + <executions> + <execution> + <id>javah</id> + <phase>compile</phase> + <goals> + <goal>javah</goal> + <goal>initialize</goal> + <goal>compile</goal> + <goal>link</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> </profile> </profiles>