I'm building this test environment using jikes and optionally javac. No ant. The files are compiled in the source tree and the classes are collected under the build directory. Although I have a minimal requirement as yet for any of the support facilities that are provided by the ant construction of the build sources, any that are required, like setting version information, are done manually in the files under the build directory. The environment for the build can be set up by copying the xml-fop tree from the web page, and adding the support jars to the xml-fop/lib directory. I am currently building with the set of jars that were current at fop 0.20.0. To build, set the environment variables FOPDEV and JAVA_HOME. JAVA_HOME should be the directory under which the jre directory resides. I have been compiling with the IBM 1.3 jdk under linux. FOPDEV is the path to the xml-fop directory under which src and build reside. Then source the following files, found in the xml-fop/bin directory, in order . bin/.path.functions . bin/fopdevenv These are designed as Bourne and up shell files. Unix only, I'm afraid. The fopcomp script (found in the bin directory) is designed to execute from anywhere in the source tree where .java files may be found. Make sure fopcomp is accessible via your PATH. Then, e.g., cd src/org/apache/fop/apps fopcomp Fop.java N.B. fopcomp shebangs /bin/ksh. As an alternative, try the fopcomp-bash script, which is identical except for #!/bin/bash. It will work with any modern (ksh-style) sh which supports the `typeset' method of specifying local shell variables. Note that, for now, the files from the conf directory are also installed in the build/classes conf directory. This messiness will be cleaned up when I get to the point of setting up an ant build environment. Running. Firstly, fix build/classes/conf/userconfig.xml. It has examples of command-line override values specific to my environment. Sorry about that. N.B. As at the time of integrating this experimental code into the CVS tree, running will throw an exception. Properties handling is in a state of flux. The code doesn't do much as yet, but to see what it does get up to, I use the extensions I have made to the config functionality. userconfig.xml is duly noted as the default user config file in config.xml. In userconfig.xml I put my input mode, input file name and output file name. Everything except fo->pdf has been stripped away at this stage, but it still has to be specified. See build/conf/userconfig.xml for the way I have set up my simple test run. I have a pre-constructed .fo file. Note that no output is actually produced to a pdf file. To run, once my CLASSPATH environment is set up, I java org.apache.fop.apps.Fop possibly adding a -d flag.