see comments inline
On 6/22/06, TimHedger <[EMAIL PROTECTED]> wrote:
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?)
https://svn.codehaus.org/mojo/trunk/mojo/maven-native/
that will get you all the source code + examples
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?
suggest to do an experimental port by creating a branch for it. It is quite
tough
to keep the legacy file system intact.
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
remove -c, the plugin will insert it
-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>
suggest to set <jdkIncludePath>/usr/java1.4.1_02_32</jdkIncludePath>
so you dont have to set previous 2 include paths
<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
you will need to file a JIRA for this request. better yet help to patch it
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]