This forum is now a read-only archive. All commenting, posting, registration services have been turned off. Those needing community support and/or wanting to ask questions should refer to the Tag/Forum map, and to http://spring.io/questions for a curated list of stackoverflow tags that Pivotal engineers, and the community, monitor.

AnnouncementAnnouncement Module

Collapse

No announcement yet.

Suggestions for best suited Linux distribution for Spring Tool Suite?Page Title Module

Suggestions for best suited Linux distribution for Spring Tool Suite?

Jan 25th, 2012, 03:29 PM

Linux
I'm getting a portable machine for my development needs, A Toshiba with 4GB or RAM and a 15 inch display. I'm not very fond of Windows, being a Mac user primarily and my server is running on Debian 5. So it's natural I would want to install Linux on this machine. I already have Debian 6 installed on an old Apple powerbook, but I'm not certain Debian is the best Linux environment for developing Spring Roo based java web apps with Springsource Tool Suite.

If you feel some specific Linux distribution is working nice for you with STS, please do tell. I'm also happy to hear about your experiences setting up a development environment under Linux.

Apps and plugins
I'm also in dear need of finding ancillary apps that I use on Mac.

What I already know I'll miss from Mac OS X is "Skim", the pdf reader, Sequel Pro a graphical interface to MySQL, a GUI for PostgreSQL and some good UML tool, like boUML or a graphic diagram tool like OmniGraffle. Suggestions for tools like these, also Eclipse plugins, are very welcome.

I have been using Ubuntu 10.04 LTS 32 bit.
You could say that I'm a bit 'conservative' :-)
More or less: I try to opt for using stuff that's been around for the longest and in widest use... so it has probably been tested better... just by many people using it.

Nowadays Ubuntu by default uses open-jdk....

That is the one thing that I advise you *change* from the default setup. I.e install 32 bit Sun JVM instead of the open-jdk. You will likely have less problems and generally a better developing experience (for example 'hotswap' in the Eclipse debugger doesn't work so well or at all with open-jdk).

I have myself been using this kind of setup for quite a while and found it overall quite reliable.

You might have other people suggest to go with more recent version of Ubuntu or other distros, and go for 64 bit setups.

But I'd suggest that you don't.

Newer versions of Ubuntu are using 'Unity' instead of good old 'Gnome 2'. And maybe one day it will be very good, but right now I'd say it probably still has some stuff that doesn't work so well. Plus, to me it seems like a UI that is more designed to work well on an iPad and isn't as well-suited to work well with a multi-monitor development setup.

64 bit *may* give you a performance boost... but actually that's not necessarily the case if you are using Java. 32 bit VM tends to use less memory which in itself will help performance. There's a hard memory limit on 32 bit of 4Gb per process, but with the PAE kernel which is now standard in 10.04, you don't have an overall 4Gb limit. So you can run several processes / JVMs and use all your memory.

I find for me, the 4Gb per process limit is never a problem. If you think you might need to run a single very large server process on your development machine... you may need to go with 64 bit however.

Technically you can also run a 32 VM on a 64 bit OS, but this somewhat 'custom' setup is likely to take more work for you to setup and figure out what's wrong when something isn't working with the custom setup. I.e. you are more likely to hit bugs that are specific to this 'cross 32-64 bit setup.

My setup works well with STS for me...

One thing I'd advise you w.r.t to Eclipse installs (apart from STS) is not to install them from the Ubuntu repository but get them 'directly from the source' at eclipse.org. The Ubuntu repository contains repackaged older-versions that don't always work the same. This can give you problems.

Hope this helps. But like I said, other people may give you different advice. Ultimately, you may have to try a few things for a bit to find what works best for what kind of things you are trying to do and your tastes and your appetite for 'Unix problem solving adventures').

I prefer if things 'just work' and for the most part I find the Ubuntu setup I described above does that. Though of course there is the odd glitch now and then :-)

Comment

BTW: I'm a former Mac User, and I have never regretted switching to Unix. The things you'll need most to figure out about your OS as a developer, I find overall easier to find answers to on Unix than on Mac. The Mac is an 'almost Linux' but instructions you'll find, to setup Unix stuff / tools, unless instructions are written specifically for Mac, don't tend to work as well. So you tend to need to figure out more and dig harder to find the information you need.