At start JaCoCo creates file with a zero size to ensure that location is writable, then it uses "Runtime.addShutdownHook" to write data at the end of JVM execution, but indeed if JVM is not terminated properly, then shutdown hooks are not guaranteed to be executed. However there are other methods of requesting data - see "Can I collect coverage information without stopping the JVM?" in our FAQ (
http://www.eclemma.org/jacoco/trunk/doc/faq.html ). Also if you able to provide simple/minimalistic example of a reproducer of your problem with Buildr, then might be possible to check it precisely. Also seems that there are some work on seamless integration of JaCoCo with Buildr - see
https://github.com/apache/buildr/blob/master/addon/buildr/jacoco.rb , so that you might check with authors of this addon.