Grails application with Clover fails with 'No signature of method' exception
Symptoms
Your application is using the Clover-for-Grails plugin. You run Grails under Windows. A path to Clover's license key is passed as a command line argument.
Build fails with a "No signature of method" exception.
For example:
$ grails test-app -clover.on -clover.license.path=c:\Users\Alice\clover.license
...
Clover: Clover is enabled. Configuration: [license:[path:true], on:true, debug:[:], verbose:[:]]
Exception occurred trigger event [SetClasspath]: No signature of method: static java.lang.System.setProperty()
is applicable for argument types: (java.lang.String, java.lang.Boolean) values: [clover.license.path, true]
Cause
All "key=value" properties passed as a command line argument under Windows platform must be put in double quotes (there is no need to put in quotes on Linux or MacOS). If you don't put them into double quotes, Grails will assign a value of "true" during command line arguments parsing. This is a known issue in the Grails framework.
Resolution
Put path to a Clover license key in double quotes, e.g.:
$ grails test-app -clover.on "-clover.license.path=c:\Users\Alice\clover.license"