NB: This answer was written based on using Tomcat6. I need to update it based on having actually tried using Tomcat 7. See Cannot start tomcat after installing a private instance.
All software is different, obviously, but in general packaged software is quicker and easier to install than zipped distributions. It allows you to configure, start, and stop services in a fairly standard way, and if you run Ubuntu on your production environment it allows you to run consistent versions to minimise compatibility issues. It also allows you to receive security updates automatically.
For Tomcat, it is pretty easy to download the zip distribution, unpack, and point Eclipse at it. However, if you want to keep it updated you'll need to manage that yourself. If you install the packaged version, you'll get updates automatically.
When using Tomcat for development, there are a few problems with installing the tomcat7
package because it is intended to be run as a background service owned by the tomcat7
user:
- The installation directories and files are not set up in the way that Eclipse expects; they are split into two locations.
- When you run Tomcat from Eclipse it won't have permissions to write to the places it wants to because the files are not owned by your user.
- Using
sudo update-rc.d tomcat7 disable
to prevent the service from starting is not persistent across updates, so if the tomcat7
package gets updated then it'll start up automatically next time you boot.
However, if you only want Tomcat installed for development, and you do not want to run it as a service in the background all the time, there is better alternative for this exact purpose; there is a package specifically for creating private instances. This way, you get the benefit of a packaged distribution, but without the disadvantages of battling with a configuration that is designed to be run as a service.
Uninstall tomcat7
and install the tomcat7-user
package instead:
sudo apt-get install tomcat7-user
Create your own private instance somewhere in your home directory:
tomcat7-instance-create ~/my-instance
Configure your Eclipse project to use the Tomcat installation in the location you just created above.
Now you can start and stop your own private instance of Tomcat from within your Eclipse project.
TL;DR
- Don't install
tomcat7
for development, use tomcat7-user
instead.
- Download the zip distribution if you're a traditionalist or like doing things the hard way.
apt-get
. – green Jun 20 '13 at 20:43