Thank you for the feedback so far. I've adopted the pom.xml changes you suggested. I'd love to look at the Solaris jni example - how do I get it? (i.e. how do I check out the jni example on solaris under native-maven-plugin/src/it/jni?)
The jni step runs, but I'm having problems with compilation because the jni output file has a different name to that in my existing build system (and I don't want to change the code, as then the old build system won't work). My existing javah command line has a -o <filename> parameter that specifies the output filename (so I'm able to specify BcpBase.h instead of getting the fully qualified package based name under the native plugin rbos.fm.mktrisk.sql.BcpBase.h). The web site configuration pages don't show any way of passing in the -o parameter to javah - can this be done? This is my current pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>rbos.fm.mktrisk</groupId> <artifactId>javabcp</artifactId> <packaging>so</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>rbos.fm.mktrisk</groupId> <artifactId>javabcpbase</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> <!--add other native libs to be linked in--> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>native-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <compilerExecutable>/opt/workshop5/SUNWspro/SC5.0/bin/cc</compilerExecutable> <compilerStartOptions> <compilerStartOption> -c -g -Dsun_svr4=1 -DSOLARIS</compilerStartOption> </compilerStartOptions> <sources> <source> <directory>src/main/c</directory> <fileNames> <fileName>exutils.c</fileName> <fileName>Blk.c</fileName> </fileNames> </source> <source> <directory> /opt/sybaseSW/sybase12.5/OCS-12_0/include </directory> </source> <source> <directory> /usr/java1.4.1_02_32/include </directory> </source> <source> <directory> /usr/java1.4.1_02_32/include/solaris </directory> </source> </sources> <linkerStartOptions> <linkerStartOption> -G -lblk -lct -lcs -ltcl -lcomn -lintl -Bdynamic -lnsl -ldl -lm </linkerStartOption> </linkerStartOptions> </configuration> <!-- Generate JNI header files based on a list of class name on the classpath --> <!-- The generated include directory is automatically added to include path at compile phase --> <!-- Ensure to have appropriate denpendency jar file(s) in your pom --> <executions> <execution> <id>javah</id> <phase>generate-sources</phase> <configuration> <classNames> <!--className>rbos.fm.mktrisk.sql.BcpBase</className--> </classNames> <!-- | Note: | 1. Without classNames, javah mojo will search for all JNI classes | in your dependency list. --> </configuration> <goals> <goal>javah</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> And this is the javah command line from my existing build system: /usr/java1.4.1_02_32/bin/javah -jni -classpath (classpath list) -o /home/hedgert/work/javautil/gen/rbos/fm/mktrisk/sql/BcpBase.h rbos.fm.mktrisk.sql.BcpBase And this is what I'm getting under Maven: /usr/java1.4.1_02_32/jre/../bin/javah -d /home/hedgert/maven/javabcp/target/native/javah -classpath /home/hedgert/.m2/repository/rbos/fm/mktrisk/javabcpbase/1.0-SNAPSHOT/javabcpbase-1.0-SNAPSHOT.jar rbos.fm.mktrisk.sql.BcpBase -- View this message in context: http://www.nabble.com/Can%27t-get-jni-working-based-on-example-configuration-t1825144.html#a5006238 Sent from the Maven - Users forum at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
