http://www.fsf.org/
). The build procedure has numerous
dependencies on UNIX commands, and has only been tested in the
SolarisTM operating environment.
Please note that there is no necessity to build the JAR files from
source code to get started with Jini technology. The JAR files are
provided for you as part of the software product, as it is extracted,
under the lib
subdirectory of jini1_1
. If you
are unsure about how to get started, please point your browser at the
index.html
file in the jini1_1
directory.
This page describes how to use gmake
to build from source
code. We also have an experimental tool for building called
"buildtool" that you may find easier to use. You can get
buildtool from jini.org
and try it out. If that
fails, let the authors know, but remember that the gmake
mechanism described here is the supported and official way to build.
Note: Please do not attempt to build the Jini Technology Starter Kit JAR files without first reading the Outrigger build issues, included in this document.
While the build procedure has not changed from the build procedure provided in earlier releases of the Jini Technology Starter Kit, the makefile that is provided as part of the starter kit has changed, to accommodate the inclusion of Outrigger, the contributed implementation of JavaSpacesTM technology from Sun MicrosystemsTM.
The build procedure requires that you have the bin
directory of the JavaTM 2 SDK, Standard
Edition, v1.2.2 (or later) in your executable search path. To build the
Jini Technology Starter Kit JAR files, you'll need to:
cd jini1_1/source/vob/jive/src gmake PRODUCT=1 <target>Where:
PRODUCT
is arbitrary (any non-empty
string will suffice)
- all
Compiles the class files for all of the Jini Technology Starter Kit source code, and generates RMI stub classes. The class files will be placed in the directoryjini1_1/source/vob/jive/classes
.
- jars
Creates the JAR files for the Jini Technology Starter Kit, using the compiled class files. The compiled class files must already have been created. The JAR files will be placed in the directoryjini1_1/source/vob/jive/jars
.
- clean
Removes the compiled class files and the JAR files.
- doc
Generates API documentation for the Jini Technology Starter Kit, using thejavadoc
tool. The documentation will be placed in the directoryjini1_1/source/vob/jive/doc/api
.
If you port this build process to another platform and wish to
submit it for potential use in our next release, please send the
makefile to jini-submit@java.sun.com
for consideration.
FrontEndSpace
(the contributed, persistent implementation
of JavaSpacesTM technology from Sun
Microsystems) uses eXcelon Corporation's ObjectStore PSEPro for
Java (PSEpro) to persist the contents of the space to disk. PSEPro
requires that the class files for any objects that are going to be
persisted be post-processed. Our license with eXcelon allows us to
distribute the PSEPro runtime classes, but not the development tools
necessary to perform the post-processing. As a result, unless you have
obtained the PSEPro development tools, you cannot perform a complete
build of FrontEndSpace
from the Outrigger source code. You
can perform a complete build of all of the other software in the Jini
Technology Starter Kit, including TransientSpace
(the
contributed, non-persistent implementation of JavaSpaces
technology from Sun Microsystems), by following the build procedure for
the Jini Technology Starter Kit, described previously.
Even without the PSEPro development tools, you can still build a
significant portion of FrontEndSpace
. In particular, you
can build any class not listed below.
com.sun.jini.collection.FastList com.sun.jini.collection.FastList.Node com.sun.jini.mahout.StorableObject com.sun.jini.outrigger.BackEndSpace.LastLog com.sun.jini.outrigger.EntryHandle com.sun.jini.outrigger.EntryHandleTmplDesc com.sun.jini.outrigger.EntryHolderSet com.sun.jini.outrigger.EntryRep com.sun.jini.outrigger.NotifyChit com.sun.jini.outrigger.ODIStoreDB com.sun.jini.outrigger.PendingTxn com.sun.jini.outrigger.PendingTxn.PendingOp com.sun.jini.outrigger.PendingTxn.TakeOp com.sun.jini.outrigger.PendingTxn.WriteOp com.sun.jini.outrigger.SimpleEntryHolder com.sun.jini.outrigger.TemplateHandle com.sun.jini.outrigger.TemplateHolder com.sun.jini.outrigger.TemplateHolderSet com.sun.jini.outrigger.TransactableChit com.sun.jini.outrigger.TransactableMgr com.sun.jini.outrigger.TypeTreeEach of these files needs to be post-processed by the PSEPro development tools. The post-processed versions of these classes make up the contents of
outrigger.jar
. All of the other
classes (including most of the com.sun.jini.outrigger
classes) required by FrontEndSpace
are loaded from
transient-outrigger.jar
and pro.zip
.
When you use the procedure described at the beginning of this page to
build the Jini Technology Starter Kit, all necessary classes are
(re)built from source code and, optionally, new JAR files are created
and placed in the jini1_1/source/vob/jive/jars
directory.
The exceptions to this are outrigger.jar
and
pro.zip
, which are copied from jini1_1/lib
if
you do not have the PSEPro development tools installed.
If your goal is to build a new version of any of the software
except FrontEndSpace
, this process allows you to modify
and rebuild any source file in the Jini Technology Starter Kit. If your
goal is to build a new version of FrontEndSpace
, this
process also allows you to modify and rebuild any files not in the
exclusion list.
As part of the process of integrating the JSTK into the Jini Technology
Starter Kit, we have fixed the makefiles so users of the starter kit
can perform a "clean" build (except for outrigger.jar
)
without needing to delete any source files from the distribution.