Jetty: Java.lang.NoClassDefFoundError:org/apache/jasper/runtime/JspApplicationContextImpl error

Jetty: Java.lang.NoClassDefFoundError:org/apache/jasper/runtime/JspApplicationContextImpl error

我正在使用 Jetty 8(稳定),JDK1.7。 Eclipse Luna 最新。

我是 Java 使用 Jetty 的新手,我正在尝试 运行 教程中提供的示例代码 (Link to tutorial)

但我收到以下错误:

2015-06-24 10:52:03.208:WARN:oejuc.AbstractLifeCycle:FAILED      
org.eclipse.jetty.server.handler.HandlerCollection@6be3fe1e: java.lang.NoClassDefFoundError:  org/apache/jasper/runtime/JspApplicationContextImpl Java.lang.NoClassDefFoundError:org/apache/jasper/runtime/JspApplicationContextImpl

我在我的 Maven 存储库中检查了这个文件夹不存在。我以为这个文件夹会自动创建。但是在 运行ning clean build 几次之后我得到了同样的错误。

我是否需要手动创建此文件夹然后我应该重试或者由于其他原因。请指引我正确的方向。

以下是我的pom.xml:

<properties>
<jetty-version>8.1.1.v20120215</jetty-version>
</properties>

<dependencies>
<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-server</artifactId>
  <version>${jetty-version}</version>
</dependency>
</dependencies>

<build>
<plugins>
  <plugin>
    <!-- This plugin is needed for the servlet example -->
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>${jetty-version}</version>
  </plugin>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution><goals><goal>java</goal></goals></execution>
    </executions>
    <configuration>
      <mainClass>org.example.HelloWorld</mainClass>
    </configuration>
  </plugin>
</plugins>
</build>

谢谢

我认为你必须添加依赖:

<dependency>
   <groupId>org.mortbay.jetty</groupId>
   <artifactId>jsp-2.1</artifactId>
   <version>6.1.14</version>
</dependency>

http://mvnrepository.com/artifact/org.mortbay.jetty/jsp-2.1

实际上,我项目的默认 JRE 版本设置为 1.5,但我使用的是 JDK 1.7。更正此问题并更新 Maven - Project-Update 解决了我的问题。此外,我必须停止所有 运行 的服务器(为了安全起见)。

感谢 slawas 的帮助。