How to fix the Tomcat 7 private instance and Eclipse integration error in Ubuntu

The first step as part of my journey in learning Spring MVC was to create a private instance of Tomcat 7. The procedure I had followed is documented as part of my earlier post: How to setup multiple instances of Tomcat 7 in Ubuntu.

The next step was to setup Eclipse to recognize the Tomcat 7 private instance.

A new server instance can be registered in Eclipse using Window -> preferences -> Server -> Runtime Environments menu.

But, when I try add the private Tomcat 7 instance, Eclipse reports that it could not identify the version of the Tomcat and refuses to register the instance.

Following the suggestions by David Edwards at askubuntu.com for a problem not directly linked to my problem, solved the Eclipse-Tomcat7-private-instance-integration issue.

The solution suggested by David Edwards was to create a link for the lib and bootstrap.jar library in the private instance folder.

Due to missing fix for the bug-297675 in the tomcat7-user package, the tomcat7-instance-create script fails to setup everything as required by Eclipse when executed.

The part of the solution that I followed can be divided into two steps.

Step 1: Create a link to the lib folder and the bootstrap.jar file located at /usr/share/tomcat7 in the tomcat7 private instance directory.

ln -s /usr/share/tomcat7/lib ~/Workspace/github/springapp/tomcat//lib
ln -s /usr/share/tomcat7/bin/bootstrap.jar ~/Workspace/github/springapp/tomcat/bin/bootstrap.jar

In addition, I also had to create a link to /usr/share/tomcat7/bin/tomcat-juli.jar.

ln -s /usr/share/tomcat7/bin/tomcat-juli.jar ~/Workspace/github/springapp/tomcat/bin/tomcat-juli.jar

Note: ~/Workspace/github/springapp/tomcat is my Tomcat 7 private instance folder created using tomcat7-intance-create script.

Step 2: Either download the catalina.policy file from code repository or from within the general Tomcat 7 instance configuration folder. For instance:

# If you opt for downloading the file - replace 'precise' with the right name of your Ubuntu release.
curl http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/precise/tomcat7/precise/download/head:/catalina.policy-20110521092527-dk8tcyjy21h8eu9h-1652/catalina.policy > ~/Workspace/github/springapp/tomcat/conf/catalina.policy

Note: Make sure that you are downloading the latest version of http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/precise/tomcat7/precise/view/head:/conf/catalina.policy file.

Eclipse should be able to recognize the version of Tomcat without issues.

Meanwhile, shutdown and restart the private instance using the commands:

settipalli@settipalli-ubuntu:~/Workspace/github/springapp/tomcat$ ./bin/shutdown.sh

# Followed by:
settipalli@settipalli-ubuntu:~/Workspace/github/springapp/tomcat$ ./bin/startup.sh

References:
1.How to setup multiple instances of Tomcat 7 in Ubuntu
2.Unknown version of Tomcat was specified with tomcat-7.0.42
3.Tomcat and Eclipse Integration Error : “Unknown version of Tomcat was specified.”
4.Cannot start tomcat after installing a private instance
5.Tomcat 7 and Eclipse integration getting error
6.Configure TOMCAT in Eclipse
7.Eclipse Community Forums – Can’t add a new Tomcat 7 Server
8.Eclipse 4.2 (Juno) ‘Cannot create a server using the selected type’ in Tomcat 7
9.Eclipse can’t find catalina.policy and bootstrap.jar where it expects them
10.Man page of tomcat7-instance-create

One thought on “How to fix the Tomcat 7 private instance and Eclipse integration error in Ubuntu

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s