【问题标题】:How to setup Jetty with Eclipse without plugin?如何在没有插件的情况下使用 Eclipse 设置 Jetty?
【发布时间】:2010-07-24 12:16:11
【问题描述】:

我想从 Java Web 开发开始。首先,我想在 Eclipse 中使用 Jetty 服务器设置一个良好的开发环境,这样可以缩短开发周期。但我正在努力设置它。

还有其他关于它的问题,但对我来说它们要么陈旧要么不完整。我看到了使用插件的建议,但插件似乎已经过时了。另外,我不会要求一开始就使用 Maven。

我已经看到在没有插件的情况下在 Eclipse 中设置 Jetty 的方法:

但对于我作为服务器端 Java 和 Jetty 的新手来说,它们是不完整的。

我按照链接文章中的步骤进行操作。但是在第 2 步我不知道 web.xml 应该有什么内容,我创建了一个空的 XML 文件。当我尝试在 步骤 4 上运行服务器时,我得到 java.lang.ClassNotFoundException: org.mortbay.jetty.webapp.WebAppContext

如何在没有插件的情况下使用 Eclipse 设置 Jetty?

更新

按照蜡翼的建议,我应该更改课程,因为它已从 Jetty 6 更改为 Jetty 7。我再次启动了 Jetty 服务器,现在我得到了NoSuchMethodException

2010-07-25 13:37:22.849:WARN::Config error at <Set name="var">../sampleweb/sampleweb_webroot</Set> java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String)
2010-07-25 13:37:22.849:WARN::Unable to reach node goal: started
java.lang.NoSuchMethodException: class org.eclipse.jetty.webapp.WebAppContext.setVar(class java.lang.String)

我的 sampleweb.xml 放在我的 Jetty 项目的 context 目录中,并且有这个内容,摘自文章:

<?xml version="1.0" encoding="UTF-8"?>
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/app</Set>
<Set name="var">../sampleweb/sampleweb_webroot</Set>
<Set name="extractWAR">true</Set>
<Set name="copyWebDir">false</Set>
<Set name="defaultDescriptor">
<SystemProperty name="jetty.home" default="."/>
/etc/webdefault.xml</Set>
</Configure>

我想设置一个简单的 Hello World servlet。

【问题讨论】:

  • 从我在 Jetty 网站上看到的内容来看,Jetty 包含一个 servlet 容器,但不包含用于 EAR 等 EE 部署的容器。
  • @Kwebble:好的,但我的意思是我想学习服务器端 Java。
  • 好的,Jetty 是个不错的选择。

标签: java eclipse installation development-environment jetty


【解决方案1】:

您需要码头服务器适配器 - 寻找安装新服务器 - 它允许您使用解压缩的码头 6。

【讨论】:

    【解决方案2】:

    该指南不完整,因为尚未为您选择技术堆栈。一个空的 web.xml 应该可以正常运行 - 但 Jetty 也不会发布任何内容。换句话说,您的应用程序中存在访问点。

    应该有很多对web.xml 的引用。见this example&lt;servlet&gt;&lt;servlet-class&gt; 子元素指出了一个实现 javax.servlet.Servlet 的类,这是处理 Web 请求的类的基本接口。

    另一方面,您可以使用类似 Spring 框架的东西,然后使用另一种方法,将 Spring 本身注册为 servlet(或 servlet 侦听器)。见this example from the official documentation。还有很多其他的 Web 框架都需要 web.xml 的不同布局。

    至于您的第二个问题,您使用的是 Jetty 6 吗?该指南是为 Jetty 6 编写的,由于类名已更改,因此不适用于较新的版本。如果您使用的是 Jetty 6,请考虑安装 Thorbjørn Ravn Andersen 在他的回答中建议的 Jetty 服务器适配器。

    【讨论】:

    • 谢谢,我用的是Jetty 7,现在改了类名。我不明白我应该如何为一个简单的“Hello World”servlet 配置我的web.xml。现在我得到了NoSuchMethodException,请参阅我更新的问题。
    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 2015-09-11
    • 2021-01-10
    • 2014-09-23
    • 2017-09-24
    • 2013-09-10
    • 2011-11-21
    • 1970-01-01
    相关资源
    最近更新 更多