Closed jmcc0nn3ll closed 5 years ago
@sbordet We will try to test with our products. The only problem is that our web products use Weld that is not JPMS yet (see my issue https://issues.jboss.org/browse/WELD-2493?_sscc=t). At least we will try to make them work together.
@panga I don't understand how multi-release jars are in the picture here. They are for alternate implementations of certain classes, and they don't support non-classes multi-releases (e.g config files like services etc.).
The version of Jetty that can write a proper module-info.java
is when we will be able to properly specify dependencies e.g. to javax.servlet.api
- which may happen years from now given the current speed of adoption of JPMS modules.
@panga some support for module-path should be there already, see #1933 and #1978 and related. We will need you guys to do some iterations of testing to cover your cases.
@joakime @gregw we should also modify the standalone start mechanism, by adding maybe a --jpms
option that puts all the Jetty jars in the module-path
rather than the class-path
. Thoughts?
@panga I don't understand how multi-release jars are in the picture here. They are for alternate implementations of certain classes, and they don't support non-classes multi-releases (e.g config files like services etc.).
Not exactly, multi-release jars support classes, resources and module-info.class
.
I agree with you that a good quality module-info can take years to be ready.
References:
http://openjdk.java.net/jeps/238
https://blog.codefx.org/tools/multi-release-jars-multiple-java-versions/
@panga some support for module-path should be there already, see #1933 and #1978 and related. We will need you guys to do some iterations of testing to cover your cases.
Great! #1978 is a must for me.
@PashaTurok, what exactly you need from weld? I was able to make it work in version 3.0.5.Final with the patches I've submitted. See my sample: https://github.com/panga/hammock-jpms
FTR: why we leaned towards Automatic-Module-Name
.
First tried to JPMS-ify jetty-util
. Using jdeps
it's easy to find all dependencies and first problem is that there is no JPMS for javax.servlet:javax.servlet-api
.
This is required by MultiPartInputStreamParser
that has been deprecated and moved to jetty-http
.
Even if we remove this class, we will have the same issue for the jetty-http
module.
[As a side note, jetty-http
may then require to be split in 3: a common, a client-only and a server-only module].
Trying to Maven compile with a non-JPMS jar in the module-path yields a Maven warning
Required filename-based automodules detected. Please don't publish
this project to a public artifact repository!
Dependencies for jetty-util
are of the kind:
module org.eclipse.jetty.util {
...
requires static org.slf4j;
...
}
requires static
is necessary because if an application does not use the Jetty logging classes, it would not require to depend on SLF4J.
However, when we try to run the jetty-util
tests via Maven, the test fails because they try to load SLF4J classes but cannot.
So far we have 2 showstoppers for real JPMS modules:
The first may take years to be resolved; the second may just be a Maven issue and may be promptly fixed.
Going for Automatic-Module-Name
instead will push the problem to application developers, but for basic usage they may be able to get Jetty embedded running on the module-path.
Note that users are already able to run Jetty embedded from the module-path: just put the Jetty jars into the module-path, and the JVM will automatically convert them to modules. Therefore we don't need to do anything, per se.
Adding Automatic-Module-Name
to Jetty jars will only lock the module name, rather than using the jar name.
We are going for module names of the form org.eclipse.jetty.*
, and not jetty.*
.
Err, this Maven warning is new to me!
Regarding Surefire, yes it has some problems with JPMS, I expect them to be resolved soon.
Automatic-Module-Name
is a good start, the module names will be stable for future use of module-info.
Expanding on Simone's summary, we also discussed how the module-info.java for a module didn't play particularly well with the test cases themselves. Maven conventions have the test cases under the same packages as the main artifacts classes and putting another module-info.java file under the same package under src/test/java gives angry warnings. Conceptionally the tests themselves are an application usage of the original artifact so it sort of makes sense that tests would/should have their own module-info.java to define the execution environment, like the slf4j example Simone gave. I am not aware of any updated conventions for the test situation but if anyone can point to some or have some anecdotes you are welcome to share!
The Maven Surefire issue related to running tests with requires static
:
https://issues.apache.org/jira/browse/SUREFIRE-1563
@panga @PashaTurok out of curiosity, you can already run Jetty on the module-path as each Jetty jar will be converted to a module by the JVM, although the module names will be of the form jetty.*
; if you do that, do you see other problems or everything just works?
Point being that the more details we know about things that people do when running Jetty as JPMS modules, the more we can fix things.
For early adopters, Automatic-Module-Name
is now specified in the MANIFEST
in branch jetty-9.4.x-2191-jpms
.
Checkout the branch, build it with mvn install -DskipTests
and try it out.
@sbordet I opened this issue because I had this problem and @joakime 's suggestion. I don't know if that problem is solved now.
I renamed the branch to jetty-9.4.x-2191-jpms_automatic_module_name
, and it's now based on 9.4.13-SNAPSHOT.
Apparently IntelliJ is not yet able to run tests using properly the module-path
, see https://youtrack.jetbrains.com/issue/IDEA-171419.
Given the current status of tooling around JPMS modules, I wonder how you guys are even able to write an application with JPMS module, unless you don't test it, don't use common build tools, etc. You all do compile/test with custom tools that support JPMS?
I'm giving module-info.java
another chance, but I'm stuck with failing tests that do:
Foo.class.getResource("/")
, that with module-path returns null
while returns a URL
on class-path.
@sbordet About Foo.class.getResource("/")
I would suggest to formulate a full question on SO - I think you will get the answer faster.
@PashaTurok I know the answer already. The question is how could you guys ever work with JPMS modules.
@sbordet We use gedit and javac. This is joke, of course. We use netbeans 9 beta (although it has really annoying bugs when working with JPMS) as IDE and maven as building system. We don't have any custom building tools for JPMS. Could you explain what is the problem?
Module jetty-http
needs to load one of its own configuration files. It does:
MimeTypes.class.getClassLoader().getResourceAsStream(resource);
But now we need Module.getResourceAsStream(resource)
.
Ok, so make a ResourceUtils
class in jetty-util
so that we can hide behind it whether we are on the class-path and use Class
or ClassLoader
, or we are in the module-path and use Module
, to get the resource stream.
But because now module jetty-util
is loading from jetty-http
, we need jetty-http
to open
the "package" (aka directory) from where the resource is loaded.
I am trying a proper JPMS module version (with module-info.java
) and I was able to start Jetty as a standalone server with HTTP/2.
The startup times are:
2018-09-03 16:44:33.924:INFO:oejs.Server:main: Started @474ms
2018-09-03 16:39:29.978:INFO:oejs.Server:main: Started @1588ms
So running Jetty on the module-path gets us a 3x hit on startup.
@panga do you have or know about actual data properly measured that explains in detail why modules should be faster to startup? Because from this initial test (surely not rigorous, but still) does not look good (e.g. our test suite that starts a Jetty server for almost every test will take ~1 s x ~1000 tests = ~20 minutes more to run).
@sbordet, not sure why the startup time is so slow, in all my tests with JPMS with both OpenJDK and OpenJ9 implementations I got faster(or equal) startup times in small web applications.
Can I use jetty-9.4.x-2191-jpms
branch for testing that?
Can you provide me your sample app & JDK version you are using ?
@panga Can you comment this issue. It is interesting to hear your opinion.
@panga @PashaTurok have you been able to test the automatic module names in branch jetty-9.4.x-2191-jpms_automatic_module_name
?
@sbordet No, I did nothing, as I saw that there was no answer to @panga question Can I use jetty-9.4.x-2191-jpms branch for testing that
and thought it is not ready yet. Please, try to support two-way communication. So, is this jetty-9.4.x-2191-jpms_automatic_module_name branch ready for testing?
@PashaTurok yes branch jetty-9.4.x-2191-jpms_automatic_module_name
is ready for testing.
@sbordet I am trying to test web application. This is how I do it. I create JPMS layer and add to it the following modules:
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<module file="me.pavel.webserver.core-0.1.0-SNAPSHOT.jar"/>
Please, note, that war file I don't add to this layer. To run jetty I use the following code:
Server server = new Server( 8080 );
WebAppContext webapp = new WebAppContext();
webapp.setContextPath( "/" );
File warFile = new File(
"/home/Pavel/WebServerJettyJpms/jar/temp-0.1.0-SNAPSHOT.war" );
if (!warFile.exists())
{
throw new RuntimeException( "Unable to find WAR File: "
+ warFile.getAbsolutePath() );
}
webapp.setWar( warFile.getAbsolutePath() );
webapp.setExtractWAR(true);
webapp.setAttribute(
"org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern",
".*/[^/]*servlet-api-[^/]*\\.jar$|.*/javax.servlet.jsp.jstl-.*\\.jar$|.*/[^/]*taglibs.*\\.jar$" );
server.setHandler( webapp );
server.start();
server.dumpStdErr();
The server starts (I can access it 127.0.0.1:8080) and I don't have any problems with the speed (it starts fast). However, my web application is not deployed. I get:
java.lang.ClassNotFoundException: org.eclipse.jetty.webapp.WebInfConfiguration
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
at java.base/jdk.internal.loader.Loader.loadClass(Loader.java:561)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.Loader.loadClass(Loader.java:65)
at org.eclipse.jetty.webapp@9.4.13-SNAPSHOT/org.eclipse.jetty.webapp.WebAppContext.loadConfigurations(WebAppContext.java:1035)
at org.eclipse.jetty.webapp@9.4.13-SNAPSHOT/org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:473)
at org.eclipse.jetty.webapp@9.4.13-SNAPSHOT/org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:544)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.start(Server.java:416)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.doStart(Server.java:383)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
Do I do something wrong or this is a bug?
Can you please include the full command line that you use to start Jetty?
The JPMS layer for Jetty is created by our JPMS environment Alpha. This script starts alpha:
#!/bin/bash
ROOT_PATH="$(dirname "$0")/.."
#These are alpha modules.
modules=(
com.organization.mix.slf4j-api-1.7.25.jar
com.organization.mix.slf4j-simple-1.7.25.jar
com.organization.kit.core-0.2.0-SNAPSHOT.jar
com.organization.kit.jpms-0.2.0-SNAPSHOT.jar
com.organization.alpha.core-0.3.0-SNAPSHOT.jar
)
MODULE_PATH=""
for m in "${modules[@]}"
do
MODULE_PATH=${MODULE_PATH}:"$ROOT_PATH/jar/${m}"
done
/opt/jdk-9/bin/java \
-Xdebug -Xrunjdwp:transport=dt_socket,address=7500,server=y,suspend=n \
-Dorg.slf4j.simpleLogger.showDateTime=true \
-Dorg.slf4j.simpleLogger.dateTimeFormat="yyyy-MM-dd HH:mm:ss:SSS" \
-Dcom.organization.alpha.core.logging-level=debug \
-Dcom.organization.alpha.core.logging-destination=console \
-Dcom.organization.alpha.core.root-path="$ROOT_PATH" \
-Dcom.organization.alpha.core.components="com.organization.alpha.server-0.3.0, com.organization.alpha.client-0.3.0" \
-Dcom.organization.alpha.rct.script="./start.script" \
-Djavax.net.ssl.keyStore="$ROOT_PATH/bin/client.jks" \
-Djavax.net.ssl.keyStorePassword=client-keystore-password \
-Djavax.net.ssl.trustStore="$ROOT_PATH/bin/client.jts" \
-Djavax.net.ssl.trustStorePassword=client-truststore-password \
-Djava.security.policy="$ROOT_PATH/bin/policy.ssl" \
-Djava.net.preferIPv4Stack=true \
--add-modules ALL-DEFAULT --module-path $MODULE_PATH \
-m com.organization.alpha.core/com.organization.alpha.core.internal.Launcher
Jetty layer is created with one classloader as described here https://docs.oracle.com/javase/9/docs/api/index.html?java/lang/ModuleLayer.html
@sbordet Maybe the list of modules for boot and jetty layers (got by ModuleLayer API) can help:
Boot layer modules:
module slf4j.api
module oracle.desktop
module jdk.internal.opt
module java.xml
module jdk.crypto.ec
module java.scripting
module slf4.simple
module jdk.management.agent
module jdk.naming.rmi
module java.instrument
module oracle.net
module java.management
module jdk.attach
module java.desktop
module jdk.security.jgss
module jdk.jconsole
module jdk.javaws
module java.management.rmi
module java.logging
module jdk.security.auth
module jdk.jartool
module jdk.editpad
module jdk.jfr
module jdk.internal.ed
module jdk.jdeps
module jdk.snmp
module jdk.internal.jvmstat
module jdk.scripting.nashorn
module jdk.jlink
module jdk.naming.dns
module java.xml.crypto
module java.base
module jdk.plugin
module jdk.unsupported
module jdk.compiler
module java.rmi
module javafx.base
module jdk.jstatd
module jdk.management.cmm
module javafx.media
module jdk.deploy
module jdk.sctp
module java.security.jgss
module java.sql.rowset
module jdk.dynalink
module javafx.graphics
module javafx.swing
module jdk.accessibility
module com.organization.alpha.core
module javafx.fxml
module javafx.controls
module java.prefs
module jdk.packager.services
module jdk.plugin.dom
module jdk.management.resource
module jdk.management.jfr
module java.se
module java.datatransfer
module com.organization.kit.jpms
module jdk.charsets
module jdk.zipfs
module jdk.packager
module jdk.crypto.cryptoki
module javafx.web
module jdk.jshell
module java.smartcardio
module java.jnlp
module jdk.javadoc
module jdk.management
module jdk.internal.le
module java.naming
module jdk.jsobject
module jdk.httpserver
module jdk.net
module jdk.localedata
module jdk.xml.dom
module java.sql
module com.organization.kit.core
module java.compiler
module jdk.jdi
module jdk.jdwp.agent
module java.security.sasl
Jetty layer modules:
module org.eclipse.jetty.servlet
module org.eclipse.jetty.security
module javax.servlet.api
module org.eclipse.jetty.webapp
module org.eclipse.jetty.util
module com.organization.webserver.core
module org.eclipse.jetty.server
module org.eclipse.jetty.xml
module org.eclipse.jetty.servlets
module org.eclipse.jetty.http
module org.eclipse.jetty.io
@PashaTurok we found an issue when starting Jetty, and we pushed a fix to this branch, so please try the latest code on this branch.
With this fix, we are able to start Jetty on the module path and deploy a web application to $JETTY_BASE/webapps/
.
/tmp/jpms$ java -jar $JETTY_HOME/start.jar --add-to-start=http,deploy
/tmp/jpms$ cp $JETTY_HOME/demo-base/webapps/async-rest.war webapps/
/tmp/jpms$ java --module-path $JETTY_HOME/lib/:$JETTY_HOME/start.jar -m org.eclipse.jetty.start/org.eclipse.jetty.start.Main
...
2018-09-17 19:28:30.608:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@50f6ac94{Async REST Webservice Example,/async-rest,[file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-16846749093019213314.dir/webapp/, jar:file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-16846749093019213314.dir/webapp/WEB-INF/lib/example-async-rest-jar-9.4.13-SNAPSHOT.jar!/META-INF/resources],AVAILABLE}{/async-rest.war}
I think that you are getting the ClassNotFoundException
because you don't set the thread context classloader properly.
You should call Thread.setContextClassLoader(...)
with the classloader you used to load the Jetty layer, just before invoking your class, so that when Jetty's Server
starts, it will have the right classloader to load classes with.
Let us know how it goes.
@sbordet Ok, I built the latest code. So the results. I again create separate JPMS layer for jetty and add the following modules to it:
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<module file="apache-jsp-8.5.24.2.jar"/>
<module file="taglibs-standard-impl-1.2.5.jar"/>
<module file="org.eclipse.jdt.core-3.10.0.jar"/>
<module file="com.organization.webserver.core-0.1.0-SNAPSHOT.jar"/>
The war file I put on classpath (-cp /home/Pavel/.....war). Pure servlets seem to work. However, I could not make JSP work. When in my TestServlet I do
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.getRequestDispatcher("/dynamic/about.jsp").include(request, response);
}
and there is a jsp file (webapp/dynamic/about.jsp) jetty gives me only blank page without any errors in logs. Only this message:
2018-09-17 22:19:56:467 [qtp856980901-30] INFO org.eclipse.jetty.server.handler.ContextHandler.ROOT - No JSP support. Check that JSP jars are in lib/jsp and that the JSP option has been specified to start.jar
Do I do something wrong or the problem is in jetty?
Did you set the thread context classloader?
@sbordet Yes, it was my fault. Before starting jetty I set context classloader = jetty layer classloader and ClassNotFoundException was solved. Now I need to solve JSP problem.
@PashaTurok can you explain how did you choose the jar files that provide JSP support? They do not match what Jetty provides by default, and that may be the cause of why JSP don't work.
Please look at what the standard Jetty distribution provides in JETTY_HOME/lib/apache-jsp/*
.
You may also need what's in JETTY_HOME/lib/apache-jstl/*
.
Since Jetty reuses the Apache JSP implementation, I'm not sure if they are JPMS compliant.
@sbordet Oh, I took them from pom. After your note I changed module list to :
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<!-- JSP -->
<module file="org.eclipse.jdt.ecj-3.12.3.jar"/>
<module file="org.eclipse.jetty.apache-jsp-9.4.12.v20180830.jar"/>
<module file="org.mortbay.jasper.apache-el-8.5.24.2.jar"/>
<module file="org.mortbay.jasper.apache-jsp-8.5.24.2.jar"/>
<module file="org.apache.taglibs.taglibs-standard-impl-1.2.5.jar"/>
<module file="org.apache.taglibs.taglibs-standard-spec-1.2.5.jar"/>
<module file="com.orgn.webserver.core-0.1.0-SNAPSHOT.jar"/>
Now jetty gives me the following ouput in browser:
HTTP ERROR 500
Problem accessing /. Reason:
Server Error
Caused by:
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:610)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.12.v20180830/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.getTldResourcePath(JspCompilationContext.java:561)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:433)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parse(Parser.java:145)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
... 50 more
Caused by:
java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.getTldResourcePath(JspCompilationContext.java:561)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:433)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Parser.parse(Parser.java:145)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.12.v20180830/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
I don't want to solve this problem now, so I am trying to compile jsp at building time and added this plugin to pom of the war project:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jspc-maven-plugin</artifactId>
<version>9.4.12.v20180830</version>
<executions>
<execution>
<id>jspc</id>
<goals>
<goal>jspc</goal>
</goals>
<configuration>
</configuration>
</execution>
</executions>
</plugin>
But now I get
Compiling dynamic/about.jsp from includes=**\/*.jsp, **\/*.jspx excludes=**\/.svn\/**
At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
I don't see the jetty-schemas
jar file, it's necessary for JSP compilation and TLDs to function.
I added jetty-schemas-4.0.1.jar
to module list but it didn't help - the same error. Why I can't compile JPS using jetty-jspc-maven-plugin
. Do I miss some configs?
@PashaTurok we fixed another issue with the apache-jsp
JPMS module name. Please pull the latest code.
After that we were able to compile and run a JSP.
Make sure that you have in your Jetty layer the jars in $JETTY_HOME/lib/annotations/
, in particular the ASM jars (which are proper JPMS modules) - you probably need to explicitly add them to the module graph via --add-modules
.
/tmp/jpms$ java -jar $JETTY_HOME/start.jar --add-to-start=http,deploy,jsp
The line above is enough (with the latest code) to compile and run JSPs for us.
@sbordet Ok. After your commit a6abd0b I built jetty again and from that build I took ONLY two modules: apache-jsp-9.4.13-SNAPSHOT.jar, apache-jstl-9.4.13-SNAPSHOT.jar. All other JETTY modules I left from previous build. BTW asm is JPMS already. So now I have the following module list:
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<!-- JSP -->
<module file="org.eclipse.jdt.ecj-3.12.3.jar"/>
<module file="org.eclipse.jetty.apache-jsp-9.4.12.v20180830.jar"/>
<module file="org.mortbay.jasper.apache-el-8.5.24.2.jar"/>
<module file="org.mortbay.jasper.apache-jsp-8.5.24.2.jar"/>
<module file="org.apache.taglibs.taglibs-standard-impl-1.2.5.jar"/>
<module file="org.apache.taglibs.taglibs-standard-spec-1.2.5.jar"/>
<module file="jetty-schemas-4.0.1.jar"/>
<module file="apache-jsp-9.4.13-SNAPSHOT.jar"/>
<module file="apache-jstl-9.4.13-SNAPSHOT.jar"/>
<module file="asm-6.2.jar"/>
<module file="asm-commons-6.2.jar"/>
<module file="asm-analysis-6.2.jar"/>
<module file="asm-tree-6.2.jar"/>
<module file="javax.annotation-api-1.2.jar"/>
<module file="com.orgz.webserver.core-0.1.0-SNAPSHOT.jar"/>
However, I get Caused by: java.lang.module.ResolutionException: Modules org.eclipse.jetty.apache.jsp and apache.jsp export package org.eclipse.jetty.apache.jsp to module org.mortbay.apache.jasper
. Seems I added some extra modules or do something wrong. Maybe I should take from last build this module org.eclipse.jetty.apache-jsp
instead of apache-jsp-9.4.13-SNAPSHOT
but I can't find it.
Remove apache-jsp
and apache-jstl
jars.
@sbordet Removed. However, why then did you ask me to pull the last changes if I don't add any new module? Maybe I should update this org.eclipse.jetty.apache-jsp-9.4.12.v20180830.jar
? In what subproject is it localed?
Now I have such result org.apache.jasper.JasperException: Unable to compile class for JSP at org.mortbay.apache.jasper@8.5.24.2/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:610) ....
@PashaTurok all jetty jars should be the same release level: you've got org.eclipse.jetty.apache-jsp-9.4.12.v20180830.jar, but it should be 9.4.13-SNAPSHOT. This artifact is built in the apache-jsp sub-module in the jetty repo.
Not that this is the cause of your problem, but be aware that as of 9.4.13-SNAPSHOT we have upgraded the org.mortbay.jasper.* jars to version 8.5.33, and org.eclipse.jdt.ecj jar to version 3.14.0.
As to the output you see when doing precompilation with the jetty-jspc-maven-plugin, that is a warning that jasper puts out any time it scans a jar that does not contain any tlds. It is harmless.
@janbartel Thank you for explanation, but still can't find org.eclipse.jetty.apache-jsp
neither in jetty.project nor in maven repo. See this
Pavel@pavel-desktop:~/Temp/jetty.project/apache-jsp$ ls
pom.xml src target
Pavel@pavel-desktop:~/Temp/jetty.project/apache-jsp/target$ ls
apache-jsp-9.4.13-SNAPSHOT-config.jar apache-jsp-9.4.13-SNAPSHOT-sources.jar generated-sources maven-status pmd.xml
apache-jsp-9.4.13-SNAPSHOT.jar archive-tmp maven-archiver pmd
apache-jsp-9.4.13-SNAPSHOT-nolog.jar classes maven-shared-archive-resources pmd_logging_ruleset.xml
Pavel@pavel-desktop:~/.m2/repository/org/eclipse/jetty$ ls
aggregate jetty-alpn-client jetty-client jetty-jaas jetty-jspc-maven-plugin jetty-quickstart jetty-servlets jetty-xml websocket
alpn jetty-alpn-parent jetty-continuation jetty-jaspi jetty-parent jetty-rewrite jetty-util orbit
apache-jsp jetty-alpn-server jetty-deploy jetty-jmx jetty-plus jetty-security jetty-util-ajax osgi
apache-jstl jetty-annotations jetty-http jetty-jndi jetty-project jetty-server jetty-webapp test-jetty-webapp
http2 jetty-ant jetty-io jetty-jsp jetty-proxy jetty-servlet jetty-websocket toolchain
Could you say the path to org.eclipse.jetty.apache-jsp
startting from jetty.project
?
@PashaTurok the Jetty project has a module called apache-jsp
that produces a jar called apache-jsp-9.4.13-SNAPSHOT.jar
that used to have a wrong JPMS automatic module name - this was fixed in a6abd0b.
When the Jetty build creates the Jetty distribution, it renames the apache-jsp
jar into $JETTY_HOME/lib/apache-jsp/org.eclipse.jetty.apache-jsp-9.4.13-SNAPSHOT.jar
.
You can therefore use either only apache-jsp-9.4.13-SNAPSHOT.jar
or only org.eclipse.jetty.apache-jsp-9.4.13-SNAPSHOT.jar
as you prefer, but like @janbartel said, they must have the same version as all the other Jetty jars (in your case 9.4.13-SNAPSHOT
).
I would prefer if you use the jars from the Jetty distribution (therefore under $JETTY_HOME/lib/), so that we are sure that A) you took them all and B) we are on the same page when we compare our way or running Jetty from the module path and your way of running Jetty from a JPMS layer created by your framework.
@sbordet Thank you for you detailed explanation. I would never guess that you change file name. Maybe you should't do this :). Now I've built the latest jetty jars (for now I don't rename apache-jsp-9.4.13-SNAPSHOT.jar). This is my module list:
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<!-- JSP -->
<module file="apache-jsp-9.4.13-SNAPSHOT.jar"/>
<module file="apache-jstl-9.4.13-SNAPSHOT.jar"/>
<module file="org.eclipse.jdt.ecj-3.12.3.jar"/>
<module file="apache-el-8.5.33.jar"/>
<module file="apache-jsp-8.5.33.jar"/>
<module file="org.apache.taglibs.taglibs-standard-impl-1.2.5.jar"/>
<module file="org.apache.taglibs.taglibs-standard-spec-1.2.5.jar"/>
<module file="jetty-schemas-4.0.1.jar"/>
<module file="ecj-3.14.0.jar"/>
<module file="asm-6.2.jar"/>
<module file="asm-commons-6.2.jar"/>
<module file="asm-analysis-6.2.jar"/>
<module file="asm-tree-6.2.jar"/>
<module file="javax.annotation-api-1.2.jar"/>
<module file="com.orgz.webserver.core-0.1.0-SNAPSHOT.jar" activator-enabled="true"/>
This is what I get in browser:
HTTP ERROR 500
Problem accessing /. Reason:
Server Error
Caused by:
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:610)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.getTldResourcePath(JspCompilationContext.java:561)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:430)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseDirective(Parser.java:489)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseElements(Parser.java:1445)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parse(Parser.java:144)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
... 50 more
Caused by:
java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.getTldResourcePath(JspCompilationContext.java:561)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:430)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseDirective(Parser.java:489)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parseElements(Parser.java:1445)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Parser.parse(Parser.java:144)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
@PashaTurok you need also jetty-annotations-<ver>.jar
.
@sbordet I added. This is my module list now:
<module file="jetty-servlet-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-servlets-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-util-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-webapp-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-xml-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-http-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-io-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-security-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-server-9.4.13-SNAPSHOT.jar"/>
<module file="javax.servlet-api-4.0.1.jar"/>
<!-- JSP -->
<module file="apache-jsp-9.4.13-SNAPSHOT.jar"/>
<module file="apache-jstl-9.4.13-SNAPSHOT.jar"/>
<module file="jetty-annotations-9.4.13-SNAPSHOT.jar"/>
<module file="org.eclipse.jdt.ecj-3.12.3.jar"/>
<module file="apache-el-8.5.33.jar"/>
<module file="apache-jsp-8.5.33.jar"/>
<module file="org.apache.taglibs.taglibs-standard-impl-1.2.5.jar"/>
<module file="org.apache.taglibs.taglibs-standard-spec-1.2.5.jar"/>
<module file="jetty-schemas-4.0.1.jar"/>
<module file="ecj-3.14.0.jar"/>
<module file="asm-6.2.jar"/>
<module file="asm-commons-6.2.jar"/>
<module file="asm-analysis-6.2.jar"/>
<module file="asm-tree-6.2.jar"/>
<module file="javax.annotation-api-1.2.jar"/>
<module file="com.orgz.webserver.core-0.1.0-SNAPSHOT.jar" activator-enabled="true"/>
However, I have the same error - nothing changed.
@sbordet java.lang.NullPointerException at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.getTldResourcePath(JspCompilationContext.java:561)
appears if I add to my jsp file this <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
. If I don't add I have exception in another place:
HTTP ERROR 500
Problem accessing /. Reason:
Server Error
Caused by:
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:610)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:516)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1854)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:220)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
... 50 more
Caused by:
java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:516)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1854)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:220)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
@PashaTurok if your JSP is just:
<% System.err.println("HELLO"); %>
does it work?
@sbordet No, this is what I have:
HTTP ERROR 500
Problem accessing /. Reason:
Server Error
Caused by:
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:610)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:516)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1854)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:220)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
... 50 more
Caused by:
java.lang.NullPointerException
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:516)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1854)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:220)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:595)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:382)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
at org.mortbay.apache.jasper@8.5.33/org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
at org.eclipse.jetty.apache.jsp@9.4.13-SNAPSHOT/org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Dispatcher.include(Dispatcher.java:124)
at org.school.site.temp.TestServlet.processRequest(TestServlet.java:48)
at org.school.site.temp.TestServlet.doGet(TestServlet.java:78)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:645)
at javax.servlet.api@4.0.1/javax.servlet.http.HttpServlet.service(HttpServlet.java:750)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security@9.4.13-SNAPSHOT/org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet@9.4.13-SNAPSHOT/org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server@9.4.13-SNAPSHOT/org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io@9.4.13-SNAPSHOT/org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util@9.4.13-SNAPSHOT/org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:844)
Powered by Jetty:// 9.4.z-SNAPSHOT
Please add: jetty-plus-<v>.jar
, jetty-jndi-<v>.jar
.
This can be a root issue for ongoing efforts for Jetty to support JPMS features in Java.
Jetty has had OSGi support for nigh on a decade and it is not something we can simply abandon in lieu of java adding on a module management system. While that community has made strides in integrating well with the JPMS mechanics at the point of this thread creation it has largely been up in the air as to what that should mean for the Jetty project itself.
Jetty 9.4.x supports the usage of Java 9 with the module system disabled and it remains to be seen what Jetty 10 will do with it. Lets have some discussion on this thread about that and maybe start getting this broken down a bit.
@guw We would welcome your input here as well as a historical user of jetty and osgi, your plans regarding jpms and what you might expect from jetty regarding it.
We also have @PashaTurok with #2189 as the first user requesting this support and there is some info in that issue.
Additionally, to set expectations this is not something that will happen overnight, especially since it seems that it will involve a fairly substantial review of the overall artifact layout of Jetty.