Compiling DataBlade module Java code

BladeSmith generates the Project_Java.mak makefile in the src\java directory. Use this makefile to compile Java™ code from the command line on UNIX™ and Windows™.

About this task

When you compile, the makefile produces a JAR file, Project.jar, in the source code directory src/java. This file is appropriate for the server and client implementations.

The makefile requires that you set the following environment variables before you compile:
INFORMIXDIR
Set to the HCL OneDB™ database server installation directory
CLASSPATH
Set to the location of the Java software development kit, the Java in the server JAR file, and the HCL OneDB JDBC Driver:
.:$(JDKPATH):${INFORMIXDIR}/extend/krakatoa/krakatoa.jar:
${INFORMIXDIR}/extend/krakatoa/jdbc.jar
TARGET (UNIX and Windows only)
Set to the path and file name of the include file for your operating system. Platform-specific files are in the INFORMIXDIR/incl/dbdk directory.

The BINDIR variable in the makefile determines where the JAR files are written.

BladeSmith creates server, all, and clean targets in the makefile. The server target builds the JAR files. The clean target deletes the JAR files. The default all target is equivalent to the server target.
Important: When you generate code in BladeSmith, set the Format property of the DataBlade® node to the correct file format for your operating system (UNIX or Windows). The default is Windows.

Use the Project_Java.mak makefile with the Java software development kit compiler.

To compile and link your DataBlade module JAR files:

Procedure

  1. If you are compiling on a different computer than the one on which DBDK is installed, copy the generated src/java directory with its contents to the target directory.
  2. Execute the appropriate command at the UNIX C shell or the Windows prompt:

    (UNIX only) make -f Project_Java.mak

    (Windows only) nmake -f Project_Java.mak

Results

Project is the name of the DataBlade module project. The Project.jar files are created in the src/java directory.