在eclipse中运行Jetty 7服务器?

use*_*636 14 eclipse jetty java-ee

我正在尝试设置Eclipse以运行并将我的项目部署到Jetty 7服务器(最旧版本可从http://download.eclipse.org/jetty/获得).我已经下载了Jetty 7并将其解压缩,我从可用的服务器适配器列表中安装了Jetty插件,但是当我尝试配置新的Jetty服务器时,服务器类型列表只包含"Jetty 6".如果我使用它并将其指向我的服务器运行时,当我尝试启动它时,我收到以下错误:

java.lang.NoClassDefFoundError: org/mortbay/start/Main
Caused by: java.lang.ClassNotFoundException: org.mortbay.start.Main
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main" 

我猜我需要一个不同的适配器来启动Jetty 7,但我不知道在哪里可以找到它.

Dim*_*van 22

比使用WTP适配器更好,我更喜欢使用嵌入式码头.我只是创建一个常规的java项目,让我们调用"embedded-jetty".我在项目属性的Java Build Path的Projects部分中将原始webapp项目作为此项目的要求.比我创建一个启动这样的jetty实例的类:

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;

public class JettyServer {
 public static void main(String[] args) {
  Server server = new Server(8080);

  WebAppContext context = new WebAppContext();
  context.setResourceBase("../webapp-project/WebContent");
  context.setDescriptor("../webapp-project/WebContent/WEB-INF/web.xml");
  context.setContextPath("/");
  context.setParentLoaderPriority(true);
  server.setHandler(context);

  try {
   server.start();
   server.join();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

在embedded-jetty项目中,我创建了一个"lib"文件夹并从jetty/lib文件夹中复制了所有的lib,然后在项目属性的Libraries中添加了libs.

运行和调试jetty嵌入式对我来说很有用,jsp和类重新加载就像一个魅力


Tho*_*yer 22

有一个新的(官方!)Jetty WTP插件支持Jetty 7.x和8.x:http://wiki.eclipse.org/Jetty_WTP_Plugin


Tho*_*sen 2

问题在于,随着迁移到 Eclipse,包名称发生了变化,而 Jetty 人员仍然很忙。

最简单的选择是从 Codehaus ( http://dist.codehaus.org/jetty/ )下载 Jetty 6 ,将其解压到某处并使用 Jetty 6 适配器。

  • 有点讽刺的是,成为官方 Eclipse 项目使得在 Eclipse 中使用 Jetty“变得更加困难”,但情况似乎确实如此。哦,好吧,我想回到 v6。:( (4认同)
  • 我刚刚找到了它:我点击了下面@Thomas Broyer 的答案中的链接。我以前见过该网站,但它链接到 http://download.eclipse.org/jetty/updates/jetty-wtp ,不幸的是“404 文件未找到”。但是,我刚刚发现 http://download.eclipse.org/jetty/updates/jetty-wtp/development/ 上的开发版本仍然存在。(请注意,“**org.eclipse**.jst.server.jetty.feature_1.0.0”包含 Jetty 7/8 适配器,而“**org.mortbay**.jetty.serveradaptor_1.0.4”则不包含! )也许有人知道该插件稳定版本的更新链接? (3认同)