Switching from IntelliJ to SpringSource Tool Suite
A small disclaimer: I’m a big fan of IntelliJ. In every project I’m on, I use IntelliJ, and it has happened quite often that people get interested in the product, and decide to switch.
However, because of some changes in IntelliJ 9 regarding the non-visibility of module dependencies (a feature any IDE has, including IntelliJ 8), I decided to look for alternatives. Not knowing which dependencies a module has is an unworkable situation for me, since I find quite important to know if my UI module depends on a ORM mapper, or not (in most cases, it should not).
Luckily, there are (quite) some alternatives. I’ve decided to check out SpringSource Tool Suite, because:
a) It integrates with technologies like Spring and Hibernate
b) It has support for Maven, which I use for almost every project
c) It has Groovy and Grails support
d) It’s free. This is not a big deal for me, since I also paid for IntelliJ (and it was worth every euro), but this way, it’s easy to try out.
So I downloaded SpringSource Tool Suite here: http://www.springsource.com/products/sts, and after a quick download (and mount, I’m on MacOS), I was ready to go. I imported the Maven project (File -> Import -> Maven) and I was ready to go.
Wait…what’s this error I’m getting??
“The type PostConstruct is not accessible due to restriction on required library /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar”
Hmm, it seems my project is using an @PostContruct annotation, and for some reason, this is causing problems. Well, after browsing an little through the options, I found this setting, which is the cause of the problem:
This can be found by going to the preferences screen, and then go to Java -> Compiler -> Errors / Warnings, and there you’ll have to set the Forbidden reference access rule to ‘Ignore’ (or warning, but I don’t like the yellow warnings, not for a reason like this anyway)
After setting the option to ignore and rebuilding the project, I good to go, and my project built without any problems!
In short: first impression: nice! I’ll post more about my experiences with SpringSource Tool Suite here in the near future!