【问题标题】:Debugging a tomcat project in Eclipse 3.4.2在 Eclipse 3.4.2 中调试一个 tomcat 项目
【发布时间】:2010-10-14 09:47:10
【问题描述】:

我下载了 eclipse 3.4.2 并尝试从 sysdeo (http://www.eclipsetotale.com/tomcatPlugin.html) 为 eclipse 安装 tomcat 插件(版本 3.2.1)

我已按照安装说明进行操作,但是从 Eclipse 工具栏启动 tomcat 时出现以下错误

java.lang.NoClassDefFoundError: org/apache/tomcat/util/log/SystemLogHandler 在 java.lang.Class.getDeclaredConstructors0(本机方法) 在 java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) 在 java.lang.Class.getConstructor0(Class.java:2671) 在 java.lang.Class.newInstance0(Class.java:321) 在 java.lang.Class.newInstance(Class.java:303) 在 org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:205) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:390)

我确实按照故障排除说明进行操作,但没有成功。

我也尝试将插件放入 dropin 目录,但仍然出现同样的错误。

这在 eclipse 3.2 和 3.3 中运行良好

然后我尝试使用标准的内置 WTP 来设置我的 tomcat 服务器。我不确定它会如何在 tomcat 的 conf 目录中选择我的 server.xml,看来它现在还没有选择。 如何将我的 Eclipse 项目与此设置相关联。我可以启动服务器,但是当我浏览 tomcat 启动页面时,它什么也没显示。

如果有人能提供一些解决此问题的方法,我将不胜感激。

提前致谢。

-迪佩什

【问题讨论】:

    标签: eclipse tomcat plugins debugging eclipse-wtp


    【解决方案1】:

    将优秀的Findjar 网页用于:

    org/apache/tomcat/util/log/SystemLogHandler

    给出以下内容:

    关于类 org.apache.tomcat.util.log.SystemLogHandler 的信息:

    包含 JAR 文件:
    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

    确保适当的 jar 文件位于您的 CLASSPATH 中。

    【讨论】:

    • 我确实有 Tomcat 中的所有 jar 文件。我可以使用 WTP 启动同一个 tomcat,并且同一个 tomcat 在 eclipse 3.2 和 3.3 上运行良好
    【解决方案2】:

    我正在使用带有 WTP 的 Eclipse Java EE 版本的 Tomcat,它运行良好。我有将我的网络应用程序部署到 tomcat webapp 文件夹的 Ant 脚本。为了调试,您必须在 Eclipse 中打开服务器视图,添加一个新服务器并选择正确的 Tomcat 版本。完成后,通过双击刚刚创建的 Eclipse 服务器视图中的服务器条目,在 eclipse 中打开 Tomcat 的配置。在配置页面的左中侧,您应该会看到类似“让 Eclipse 控制本地 Tomcat 安装”之类的内容,我现在不记得确切的文字了。你必须选择那个。然后,您可以在源代码中设置断点,然后在 Eclipse 的服务器视图中以调试模式启动 Tomcat。 希望对您有所帮助。

    【讨论】:

    • 谢谢!在 3.4.2 中,它打开了概览页面,我提到了服务器路径(使用 tomcat 安装),对于部署路径,它不允许我选择我的 eclipse 项目之一,但它允许我浏览文件系统。现在我的 tomcat 正在 8080 上启动,但我无法继续前进。
    • 我的tomcat安装中conf目录下server.xml文件的上下文路径有问题。在修复该问题并将发布设置更改为从不自动发布后,它会正确启动我的 tomcat 服务器。
    【解决方案3】:

    在尝试了几件事后,我能够在 eclipse 3.4.2 中调试 tomcat 项目 要使用 eclipse 3.4.2 调试 tomcat 应用程序/项目,请使用与它一起安装的 WTP 插件。

    转到窗口 --> 显示视图 --> 其他 --> 服务器

    在此视图中新建服务器,请选择tomcat安装目录和版本信息。

    然后双击本地主机上的Tomcat VX.X Server,打开配置设置页面

    在服务器位置部分选择“使用 Tomcat 安装(控制 Tomcat 安装)并输入部署路径。

    在发布部分选择从不自动发布并取消选中更新上下文路径复选框。

    瞧!!全部设置为在 eclipse 3.4.2 中调试 tomcat 项目

    无需下载和复制任何额外的插件。

    谢谢朱里。希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      如果您使用的是 Sysdeo 插件,那么您希望也使用标准的 Eclipse WTP 服务器。要使用 Sysdeo 插件,您需要已经下载并解压了一个标准的压缩 tomcat 目录。确保在您的路径中定义 CATALINA_HOME。然后,假设您已经正确安装了 sysdeo 插件,进入 Eclipse->Windows->Prefs->Tomcat(这是 Sysdeo 的 Tomcat 设置,而不是 WTP 设置)。您需要告诉插件您在哪里提取了 Tomcat 目录,并将其设置为使用上下文文件。

      现在创建一个新的动态网络项目。右键单击它,然后进入其属性->Tomcat。 将其作为“Tomcat 项目”进行检查。给它一个上下文名称,并告诉它你的战争的基础目录(默认情况下,Eclipse 已经命名了这个 WebContent,我相信)。应用它并关闭窗口。再次右键单击您的项目,然后转到 Tomcat 部分。添加“Tomcat Libraries to Build Path”以便您可以使用 Servlet/JSP 类。最后,单击“更新上下文”。如果您进入 Conf 下的 Tomcat 目录,您会看到插件为您创建了一个指向 Eclipse 工作区的上下文。无需将应用程序部署到 Tomcat 目录。现在,您应该能够单击 Sysdeo Tomcat 的“开始”按钮,并且您的应用应该能够连接到位于 localhost:8080/context_name 的应用。

      HTH, 比尔

      【讨论】:

        猜你喜欢
        • 2012-01-29
        • 2015-12-29
        • 1970-01-01
        • 2011-04-04
        • 2011-04-20
        • 2011-12-28
        • 2011-02-08
        • 2013-02-13
        • 2017-07-19
        相关资源
        最近更新 更多