2016-05-06 12 views
0

Die Standard-JSP-Abhängigkeiten von Glasfish zu Apache in Jetty-Version 9.2 geändert.Ersetzen Sie glassfish javax.servlet.jsp in Jetty

http://www.eclipse.org/jetty/documentation/current/configuring-jsp.html

Ich habe versucht, alle jsp Abhängigkeiten in einem Projekt zu ersetzen, Apache, aber ich habe nicht zu ersetzen javax.servlet.jsp an eine funktionierende Apache Abhängigkeit gelungen:

groupId: org.glassfish.web           
artifactId: javax.servlet.jsp 
version: 2.3.2 

So gibt es jede alternative Abhängigkeit, die ich stattdessen verwenden sollte oder ist org.glassfish.web: javax.servlet immer noch die beste Abhängigkeit, die verwendet wird, wenn man einen runnable Krieg packt?

Die geworfene Ausnahme, wenn die javax.servlet.jsp Abhängigkeit zu entfernen ist:

java.lang.ClassNotFoundException: org.apache.jasper.servlet.JspServlet 

Antwort

0

Sie müssen nur die API-Bibliotheken auf der Build-Zeit Classpath. Diese sollten mit einem "bereitgestellten" Bereich gekennzeichnet werden, der angibt, dass sie nicht in einem generierten Artefakt (WAR) gebündelt werden sollten, da sie zur Laufzeit vom Servlet-Container bereitgestellt werden.

So in Ihrem pom Sie folgende Voraussetzungen erfüllt sein sollten:

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.0.1</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jsp-api</artifactId> 
    <version>2.0</version> 
    <scope>provided</scope> 
</dependency> 

In Ermangelung eines anderen Behälter ein bestimmtes Verhalten, die obige Änderung macht Ihre Anwendung portable auf alle Container kompatibel mit der entsprechenden Version der Servlet-Spezifikation .