please check out the jni example on solaris under
native-maven-plugin/src/it/jni

On 6/21/06, dan tran <[EMAIL PROTECTED]> wrote:

 latest snapshot is at

http://snapshots.repository.codehaus.org/

-D


On 6/21/06, dan tran <[EMAIL PROTECTED]> wrote:
>
>  also you dont need linkerSecondaryOutputExtensions tag  ( windows only
> )
>
> -D
>
>
>  On 6/21/06, dan tran <[EMAIL PROTECTED]> wrote:
> >
> >  Your stacktrace is not long enough to find out the exact cause.
> >
> > Also, your <javahOS>Solaris</javahOS> is wrong, it should be
> >
> > <javahOS>solaris</javahOS>
> >
> >
> > -Dan
> >
> >
> >  On 6/21/06, TimHedger <[EMAIL PROTECTED] > wrote:
> > >
> > >
> > > I'm trying to build using the mojo native plugin and to build a jni
> > > file from
> > > a compiled class.
> > >
> > > In my existing build process this is the command I use:
> > > /usr/java1.4.1_02_32/bin/javah -jni -classpath
> > > /home/hedgert/work/javautil/classes -o
> > > /home/hedgert/work/javautil/gen/rbos/fm/mktrisk/sql/BcpBase.h
> > > rbos.fm.mktrisk.sql.BcpBase
> > >
> > > I've configured maven and the plugin and this is the command it
> > > shows it
> > > executes in the debug output:
> > > [INFO] /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
> > >
> > > It's almost the same; the -jni option is missing and instead of
> > > specifying
> > > an output file with -o, this specifies an output directory (-d)
> > > which means
> > > that the filename is different (in my build I get BcpBase.h, from
> > > the maven
> > > build command I get rbos_fm_mktrisk_sql_BcpBase.h.
> > >
> > > The main point is when I run the maven produced command by hand
> > > (even though
> > > the options are slightly different) I do get a .h file produced as
> > > an output
> > > (and the command exits with a zero return code).
> > >
> > > But maven isn't happy - this is (an extract from) the maven output:
> > > ...
> > > [INFO] snapshot
> > > org.codehaus.mojo.natives:maven-native-manager:1.0-alpha-1-SNAPSHOT:
> > > checking for updates from Maven Snapshots
> > > [INFO] snapshot
> > > org.codehaus.mojo.natives:maven-native-manager:1.0-alpha-1-SNAPSHOT:
> > > checking for updates from snapshots
> > > [INFO] [native:javah {execution: javah}]
> > > [INFO] /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
> > > [INFO] [native:compile]
> > > [INFO]
> > >
> > > ------------------------------------------------------------------------
> > > [ERROR] FATAL ERROR
> > > [INFO]
> > > ------------------------------------------------------------------------
> > >
> > > [INFO] null
> > > [INFO]
> > >
> > > ------------------------------------------------------------------------
> > > [INFO] Trace
> > > java.lang.NullPointerException
> > > at
> > > org.codehaus.mojo.natives.NativeSources.appendSourceList(
> > > NativeSources.java :106)
> > > at
> > > org.codehaus.mojo.natives.NativeSources.getAllSourceFiles(
> > > NativeSources.java:155)
> > > ...
> > >
> > > I'm not sure why the plugin isn't happy and blows up - can you help?
> > >
> > > This is the pom file I'm using (which was derived from the example
> > > file on
> > > the plugin web site):
> > > <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>
> > >           <compilerProvider>generic</compilerProvider>
> > >           <compilerStartOptions>
> > >             <compilerStartOption>-Dsun_svr4=1
> > > -DSOLARIS</compilerStartOption>
> > >           </compilerStartOptions>
> > >           <javahOS>Solaris</javahOS>
> > >           <sources>
> > >             <source>
> > >               <directory></directory>
> > >               <fileNames>
> > >                 <fileName>exutils.c</fileName>
> > >                 <fileName> Blk.c</fileName>
> > >               </fileNames>
> > >             </source>
> > >             <!-- additional include path
> > > (source)(directory)xx(/directory)</source)-->
> > >             <!-- additional system include path -->
> > >             <source>
> > >               <directory> /home/hedgert/work/javautil/include
> > > </directory>
> > >               <directory>
> > > /opt/sybaseSW/sybase12.5/OCS-12_0/sample/dblibrary </directory>
> > >
> > >
> > > <dependencyAnalysisParticipation>false</dependencyAnalysisParticipation>
> > >             </source>
> > >           </sources>
> > >
> > >           <!-- deploy the accompany .lib file as well -->
> > >
> > > <linkerSecondaryOuputExtensions>so</linkerSecondaryOuputExtensions >
> > >
> > >           <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>
> > >
> > > NB I'm aware I'm using the mojo native plugin, I'd be very happy to
> > > use the
> > > standard one, but I can't find similar configuration/documentation
> > > information that I'd need to get my example up and running.  Any
> > > suggestions
> > > much appreciated.
> > > --
> > > View this message in context:
> > > 
http://www.nabble.com/Can%27t-get-jni-working-based-on-example-configuration-t1825144.html#a4978401
> > > Sent from the Maven - Users forum at Nabble.com <http://nabble.com/>
> > > .
> > >
> > >
> > > ---------------------------------------------------------------------
> > >
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
>

Reply via email to