Fixing EMMA’s coverage.out.file System Property

If you’re using EMMA for java code coverage report generation, you may quickly jump to EMMA’s property reference table in the documentation. There you will see documentation such as this:

Property: coverage.out.file

This would lead an average java developer to quickly attempt using EMMA with a JVM arg such as:


Unfortunately, you’ll discover that EMMA ignores your system property. This is because EMMA uses a non-standard “system property” lookup scheme which entails differing prefixes on system property names depending on execution context. The lookup scheme is is documented here (in the “EMMA property lookup order.” section).

Instead, on the command line, the JVM arg should be:


But pay special attention to the EMMA property lookup order doc mentioned above if you need to specify the properties in other ways, such as via ANT.