[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jetty-users] Deployng Axis2 war in Jetty from API
|
Hello
This is my first Jetty war deployment.
I'm trying to deploy axis2.war in Jetty. The deployment is fine but when I load
http://localhost:8080/axis2 Jetty gives me the error: "org.apache.jasper.JasperException: Unable to compile class for JSP"
My code is:
package HttpTest;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.jasper.servlet.JspServlet;
import org.eclipse.jetty.jmx.MBeanContainer;
import org.eclipse.jetty.jsp.JettyJspServlet;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.AllowSymLinkAliasChecker;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.webapp.WebAppContext;
public class JettyTest {
private static final String WEBROOT_INDEX = "/";
public void test() {
try {
Server server = new Server(8080);
MBeanContainer mbContainer = new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
server.addBean(mbContainer);
URI baseUri = getWebRootResourceUri();
WebAppContext webapp = new WebAppContext();
webapp.setContextPath(WEBROOT_INDEX);
File warFile = new File("./wars/axis2.war");
System.setProperty("org.apache.jasper.compiler.disablejsr199","false");
ServletHolder holderDefault = new ServletHolder("default",DefaultServlet.class);
holderDefault.setInitParameter("resourceBase",baseUri.toASCIIString());
holderDefault.setInitParameter("dirAllowed","true");
webapp.addServlet(holderDefault,"/");
webapp.setAttribute("javax.servlet.context.tempdir", getScratchDir());
webapp.addServlet(jspServletHolder(), "*.jsp");
webapp.setWar(warFile.getAbsolutePath());
webapp.addAliasCheck(new AllowSymLinkAliasChecker());
// ClassLoader jspClassLoader = new URLClassLoader(new URL[0], this.getClass().getClassLoader());
// webapp.setClassLoader(jspClassLoader);
server.setHandler(webapp);
server.start();
server.join();
} catch (Exception ex) {
Logger.getLogger(JettyTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static File getScratchDir() throws IOException {
File tempDir = new File(System.getProperty("java.io.tmpdir"));
File scratchDir = new File(tempDir.toString(), "embedded-jetty-jsp");
if (!scratchDir.exists())
{
if (!scratchDir.mkdirs())
{
throw new IOException("Unable to create scratch directory: " + scratchDir);
}
}
return scratchDir;
}
private static ServletHolder jspServletHolder()
{
ServletHolder holderJsp = new ServletHolder("*.jsp", JettyJspServlet.class);
holderJsp.setInitOrder(0);
holderJsp.setInitParameter("logVerbosityLevel", "DEBUG");
holderJsp.setInitParameter("fork", "false");
holderJsp.setInitParameter("xpoweredBy", "false");
holderJsp.setInitParameter("compilerTargetVM", "1.8");
holderJsp.setInitParameter("compilerSourceVM", "1.8");
holderJsp.setInitParameter("keepgenerated", "true");
return holderJsp;
}
private URI getWebRootResourceUri() throws FileNotFoundException, URISyntaxException
{
URL indexUri = this.getClass().getResource(WEBROOT_INDEX);
if (indexUri == null)
{
throw new FileNotFoundException("Unable to find resource " + WEBROOT_INDEX);
}
// Points to wherever /webroot/ (the resource) is
return indexUri.toURI();
}
}
And Jetty log is:
7 [main] INFO org.eclipse.jetty.util.log - Logging initialized @297ms
274 [main] INFO org.eclipse.jetty.server.Server - jetty-9.3.9.v20160517
3538 [main] WARN org.eclipse.jetty.webapp.StandardDescriptorProcessor - Duplicate mapping from / to default
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/addressing-1.7.3.mar
[INFO] Deploying module: jaxws-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/axis2-jaxws-mar-1.7.3.mar
[INFO] Deploying module: metadataExchange-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/mex-1.7.3.mar
[INFO] Deploying module: mtompolicy-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/mtompolicy-1.7.3.mar
[INFO] Deploying module: ping-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/ping-1.7.3.mar
[INFO] Deploying module: script-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/scripting-1.7.3.mar
[INFO] Deploying module: soapmonitor-1.7.3 - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/modules/soapmonitor-1.7.3.mar
[INFO] Deploying Web service: version-1.7.3.aar - file:/C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/WEB-INF/services/version-1.7.3.aar
4846 [main] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@17d0008{/,file:///C:/Users/victor/AppData/Local/Temp/embedded-jetty-jsp/webapp/,AVAILABLE}{C:\Users\victor\Documents\NetBeansProjects\sr010\.\wars\axis2.war}
4875 [main] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@17a2457{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
4875 [main] INFO org.eclipse.jetty.server.Server - Started @5168ms
8398 [qtp26871468-10] WARN org.eclipse.jetty.server.handler.ErrorHandler - EXCEPTION
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:199)
at org.eclipse.jetty.server.Dispatcher.error(Dispatcher.java:79)
at org.eclipse.jetty.server.handler.ErrorHandler.handle(ErrorHandler.java:94)
at org.eclipse.jetty.server.Response.sendError(Response.java:571)
at org.eclipse.jetty.server.Response.sendError(Response.java:511)
at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:477)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1174)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1106)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:524)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515)
at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1853)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
... 46 more
Thank you.