Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Java Koans

Build Status

Running Instructions:

  • Download and unarchive the contents of the most recent java-koans in development from:
  • Open a terminal and cd to the directory you unarchived: cd <the directory you just unarchived>
  • Within it you'll find:
    • koans: this directory contains the application and its lessons, it is all that is needed to advance through the koans themselves and it can be distributed independently
    • lib: this directory contains the code the koans engine is comprised of and built with
    • gradle: wrapper for build library used to build koans source, setup project files in eclipse/idea, run tests, etc. you probably don't need to touch anything in here
  • Change directory to the koans directory: cd koans
  • If you are using windows enter: run.bat or ./ if you are using Mac or Linux

Developing a Koan:

  • Follow any of the existing koans as an example to create a new class with koan methods (indicated by the @Koan annotation, they're public and specify no arguments)
  • Define the order the koan suite (if it's new) will run in the koans/app/config/PathToEnlightenment.xml file
  • Override the lesson text when it fails (default is expected 'X' found 'Y')
  • Optionally you may use dynamic content in your lesson, examples are located in the XmlVariableInjector class (and Test) and the file

Something's wrong:

  • If the koans app is constantly timing out compiling a koan, your computer may be too slow to compile the koan classes with the default timeout value. Update the compile_timeout_in_ms property in koans/app/config/ with a larger value and try again.


A framework and lessons to learn java syntax and idioms in a logical sequence.







No releases published


No packages published