views:

214

answers:

2

When building our Java applications in Eclipse, the Spring builder is very slow and gives no status updates.

Specifically, I start building a project, and Eclipse's Progress pane displays

Invoking 'Spring Project Builder' on 'project name'...

for multiple minutes at a time, with no additional details.

I've already turned off the Spring AOP Reference Model Builder, and I just recently disabled the Spring project builder completely out of desperation.

I'm just building and using these projects, not developing them, so theoretically they should compile fine - but this is our development branch, so I'd still like to keep Spring on in case there's a nasty reflection error somewhere.

So, in order to keep using them, is there anything I can do to:

  1. Speed the Spring portion of the build?
  2. Display more detailed output during the Spring project building process?

Edit 2010-02-15 21:39 GMT:

I'm specifically referring to the Spring IDE plugin in Eclipse.

A: 

I'm assuming you're referring either to the Spring IDE plugin for Eclipse, or the SpringSource ToolSuite bundle.

The big performance killer that I've nailed down is the processing of <import resource="..."/> entries in the beans files. The plugin has an option for enabling the processing of these, and if turned on, it absolutely hammers performance - it searches the entire classpath (including libraries) for each imported resource, ever ytime something changes. I reported this as a bug, and thankfully it's been fixed, but not yet released.

The <import> support is just a nice-to-have, though, since you can manually add the imported files directly. Turning it off makes the whole experience much more edifying.

skaffman
Yes, I'm referring to the Spring IDE plugin (I wasn't aware of SpringSource).I looked for references to the <import> tag, and unfortunately we don't use it. Thanks for the detailed answer, though!
mskfisher
@mskfisher: Curses, I thought I had it, there. OK, try this instead - download a copy of VisualVM, and use it to take a series of stack dumps of Eclipse while it's in this "waiting" stage. This is often quite informative in telling you what it's spending its time doing.
skaffman
@skaffman: Sweet, Monte Carlo profiling. This is going to be fun to try tomorrow. :)
mskfisher
The profiler looks like it's going to be my best option, even though it hasn't pointed directly to anything yet.I'm accepting this answer specifically for the VisualVM suggestion.
mskfisher
A: 

Try checking your validators. I remember having some issues at one point because I had a bunch of plugins installed which added a number of validators to my project and the build process took forever mostly because of checking all the XML.

Stoney