Kirk Rader  1.0-SNAPSHOT

Copyright © 2014-2018 Kirk Rader. All rights reserved.



Table of Contents


This repository contains a number of more or less disjoint coding examples and guidelines, though some examples do build on or reference others.

The parent pom.xml builds HTML pages using both Doxygen and compiles a number of coding examples. The Doxygen output includes both content extracted from the various Java source files and examples of general technical documentation that demonstrates a number of tools including Markdown, PlantUML, Graphviz and LaTeX.

The HTML generated in this way can be viewed at


To build these examples the easy way, the complete build tool chain is available as a Docker image:

docker run -it parasaurolophus/java-build:latest bash

Then follow the instructions for Building, below, in the resulting bash shell.

To build these examples the hard way you must install the following into your local build environment:

  • Java 8 or later, e.g. sudo apt -y install openjdk-8-jdk
  • Maven
  • Doxygen 1.8.8 or later, e.g. sudo apt -y install doxygen
  • PlantUML
  • texlive, e.g. sudo apt -y install texlive-full, or an equivalent package for your platform such as MiKTeX for Windows.
  • Perl 5, e.g. Strawberry Perl for windows
  • Ghostscript – be sure to install the 32-bit version on Windows since Doxygen is hard-coded to use it even on 64-bit platforms

In addition, the POM files and build scripts assume that the PLANTUML_JAR environment variable is set to the absolute path of plantuml.jar.

Also, the examples.sty file from this repository must be copied somewhere latex can find it at run time. E.g. on a Mac using MacTeX (the texlive package for Mac OS X), copy examples.sty to _~/Library/texmf/tex/latex/examples/examples.sty_.


Assuming the preceding pre-requisites are met, including the correct definition of the PLANTUML_JAR environment variable and installation of the examples.sty LaTeX package:

git clone
mvn clean install

The various code artifacts can be found in their respective modules' target directories, as for any Maven multi-module project. The Doxygen output can be found in the root project's target/html/ directory.