6
votes

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

4

4 Answers

14
votes

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.

4
votes

I'm using Tomcat with Eclipse Java EE 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.

2
votes

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

1
votes

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.