views:

9725

answers:

6

Hi,

I downloaded eclipse 3.4.2 and tried installing tomcat plugin (version 3.2.1)for eclipse from sysdeo (http://www.eclipsetotale.com/tomcatPlugin.html)

I have followed installation instructions but when is start tomcat from eclipse toolbar i got the following error

java.lang.NoClassDefFoundError: org/apache/tomcat/util/log/SystemLogHandler at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671) at java.lang.Class.newInstance0(Class.java:321) at java.lang.Class.newInstance(Class.java:303) at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:205) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:390)

I did follow troubleshoot instructions but no success.

I tried to putting plugin in dropin directory too but still got the same error.

This was working fine in eclipse 3.2 and 3.3

Then I tried using standard inbuilt WTP to set up my tomcat server. I am not sure how it will pick my server.xml in conf directory of tomcat, it seems it is not picking as of now. How do I associate my eclipse project with this setup. I am able to start the server but when i browse the tomcat start page, it does not show anything.

I would appreciate if someone can provide some ways to fix this.

Thanks in advance.

-Dipesh

A: 

Using the excellent Findjar web page for:

org/apache/tomcat/util/log/SystemLogHandler

gives the following:

Information on class org.apache.tomcat.util.log.SystemLogHandler:

Containing JAR files:
jbossweb.jar
gwt-dev-windows.jar
tomcat-util-3.3.2.jar
tomcat-util-4.0.6.jar
tomcat-util-4.1.31.jar
tomcat-util-4.1.34.jar
tomcat-util-4.1.36.jar
tomcat-util-5.0.16.jar
tomcat-util-5.0.18.jar
tomcat-util-5.0.28.jar
tomcat-util-5.5.12.jar
tomcat-util-5.5.15.jar
tomcat-util-5.5.23.jar
tomcat-util-5.5.4.jar
tomcat-util-5.5.7.jar
tomcat-util-5.5.9.jar
tomcat-util-5.5.7-alpha.jar
tomcat-util-5.5.8-alpha.jar
tomcat-util-5.5.9-alpha.jar

Ensure the appropriate jar file is in your CLASSPATH.

nzpcmad
I do have all the jar files in Tomcat. I am able to start the same tomcat using WTP and the same tomcat was working fine with eclipse 3.2 and 3.3
Dipesh
+2  A: 

Hi, I'm using Tomcat with Eclipse JEE version with WTP and it works perfectly. I have Ant scripts which deploy my web app to the tomcat webapp folder. In order to debug, you have to open the Server view in Eclipse, add a new server and choose the correct Tomcat version. Once that's done, open the configuration of Tomcat within eclipse by double-clicking on the server entry in the Eclipse server view you just created. On the left-middle side of the confguration page you should see something like "let Eclipse control the native Tomcat installation", I don't remember the exact text now. You have to choose that. Then you can set a breakpoint in your source code and then start Tomcat in debug mode from within Eclipse's server view. Hope that helped.

Juri
Thanks! In 3.4.2 it opens up overview page and there I have mention server path (use tomcat installation) and for deploy path it does not allow me to select one of my eclipse project but it allows me to browse file system. Now my tomcat is starting on 8080 but I am not able to go to any further.
Dipesh
There was a problem in my context path in server.xml file in conf directory in my tomcat installation. After fixing that and changing publishing setting to Never Publish automatically it started my tomcat server properly.
Dipesh
+5  A: 

Hi,

After trying out few things I was able to debug tomcat project in eclipse 3.4.2 To debug tomcat application/project using eclipse 3.4.2 use WTP plugins which are installed along with it.

Go to Window --> Show View --> Others --> Server

In this view create a new server, please select tomcat installation directory and version information.

Then double click on Tomcat VX.X Server at local host, it opens up configuration settings page

In the Server Locations Section select "Use Tomcat Installation (takes control of Tomcat Installation) and enter deploy path.

In the publishing section select Never Publish automatically and uncheck update context path checkbox.

Voila!! All set to debug tomcat project in eclipse 3.4.2

There is no need to download and copy any extra plugin.

Thanks Juri. Hope this helps.

Dipesh
A: 

Dipesh,

I tried your method but I still get the error of "Tomcat couldn't start" when the timeout is reached...

Is there something else to be needed besides that to enable debugging in Tomcat?

I'm using Eclipse 3.4.1 and Tomcat 6....

A: 

This is really weird, if I run the WAR in Tomcat, no probs, it starts and I can try the applicattion as much as I want, but if I try to debug it, actually it takes me to the breakpoint but, once the timeout expires, tomcat shuts down!!! Obviously I could increase the timeout, but nosense....there must be a reason and I can't find why tomcat won't start on debug mode, or he thinks he won't, becasue I can see the catalina threads in the debug perspective!!!

Please help!!! Going nuts with this!

A: 

If you are using the Sysdeo plugin, then you don't want to also be using the standard Eclipse WTP servers. To use the Sysdeo plugin, you need to have already downloaded and extracted a standard zipped tomcat directory. Make sure to define CATALINA_HOME in your path. Then, assuming you've correctly installed the sysdeo plugin, go into Eclipse->Windows->Prefs->Tomcat (this is Sysdeo's Tomcat settings, and not the WTP settings). You need to tell the plugin where you've extracted your Tomcat directory, and set it to use Context files.

Now create a new Dynamic web project. Right click it, and go into its properties->Tomcat. Check it as a 'Tomcat Project'. Give it a context name, and also tell it the directory which would be the base of your war (by default, Eclipse has named this WebContent, I believe). Apply it and close the Window. Right click again your project, and go to the Tomcat section. Add the 'Tomcat Libraries to Build Path' so you can use the Servlet/JSP classes. Finally, click on 'Update Context'. If you go into your Tomcat directory under Conf, you'll see that the plugin has created a context for you that points to your Eclipse workspace. No need for deploying the app to the Tomcat directory. Now, you should be able to click on the Sysdeo Tomcat 'start' button, and your app should be able to connect to your app at localhost:8080/context_name.

HTH, Bill