2012-12-14

Grails Release Plugin NoClassDefFoundError: groovyx.net.http.HTTPBuilder

A few days ago, I was trying to release an update to the grails-page-resources plugin, when I ran into an error:

...
Notifying plugin portal 'http://grails.org/plugin/page-resources' of release...
| Error Error executing script PublishPlugin: groovyx.net.http.HTTPBuilder
java.lang.NoClassDefFoundError: groovyx.net.http.HTTPBuilder
    at PublishPlugin$_run_closure1.class$(PublishPlugin)
    at PublishPlugin$_run_closure1.$get$$class$groovyx$net$http$HTTPBuilder(PublishPlugin)
    at PublishPlugin$_run_closure1.doCall(PublishPlugin:421)
    ...

Searching Google for help didn't seem to turn up anything helpful, nor did turning on additional output with --stacktrace --verbose. At the time, this was already with the most recent version of grails-release-plugin, 2.2.0. So, I submitted a JIRA ticket, GPRELEASE-40.

Yesterday, I had the bright idea of checking the Grails mailing lists to see if there was anything useful there. And sure enough, the answer.

What it boils down to is that Grails wasn't actually running the specified version of the plugin, and some arcane steps were needed to get it to do so.

I love Grails, but my biggest frustration with it is when I run into one of these mystical incantations that are needed without a readily apparent reason, and not found in the otherwise great documentation, but rather only by stumbling upon them elsewhere.

For now, I'm going with a setting recommended by Peter Ledbrook here:

grails.project.work.dir = "target/$grailsVersion"

2 comments:

Angie J. Hensley said...

Your class friend can say you i need help with physics. if you can help your friend or you can suggest him. Maybe your friend don’t well on this subject.

James R. Carraway said...
This comment has been removed by the author.