1

Am using STS 2.9.1.RELEASE with Grails 2.0.1 and I have the following projects:

int1 - maven project, contains Java beans, no dependencies (expect 3rd party jars)
int2 - maven project, contains Java beans, dependency on int1
gui - grails project, has dependencies on int1 and int2

Now whenever I add new classes to int1/2, then I can reference these in the gui project (assume Eclipse dependencies resolve the new classes).

But if I run a Grails command (again from within Eclipse - commands: compile, test-app, run-app) on gui , then the compile fails with an 'unable to resolve' on the new classes.

Assume this is because grails is using the version of the project jars from my USERHOME .grails/ivy_cache location.

To resolve, I normally maven package int1 and copy the jar into ivy_cache. Maven package int2 (with 'Resolve workspace artifacts' option checked) and copy jar into ivy_cache. clean/compile gui project which now works.

I'm in development mode so I do not want to run maven install on int1 or int2 as these projects are not fit to be published, and these projects will change a lot.

Does Grails have some concept of 'Resolve workspace artifacts' that will include new latest workspace classes ahead of the ivy_cache jars? Anything within the gui pom.xml or BuildConfig.groovy that can be configured to provide this?

Do later versions of STS and/or Grails resolve this issue?

4

0 回答 0