Updated for Java 8, mavenized directory structure.