Deactivate Jetty's default 404 error handler
The solution to my problem was to add a custom org.eclipse.jetty.server.handler.ErrorHandler
.
If a user doesn't explicitly specify some ErrorHandler
, the Jetty server instance seems to register a default ErrorHandler
.
As outlined on https://www.eclipse.org/jetty/documentation/jetty-9/index.html#custom-error-pages, to register a custom ErrorHandler
, you can follow the following steps.
- Implement some
org.eclipse.jetty.server.handler.ErrorHandler
subclass, e.g.com.example.CustomErrorHandler
. - Make this subclass available to your Eclipse server instance, e.g. by bundling
CustomErrorHandler
in ajar
file and then copying thatjar
file into the${jetty.base}/lib/ext
directory. - Configure your Jetty server instance to have this custom
ErrorHandler
registered as a bean:
file jetty.xml
:
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- more configuration -->
<Call name="addBean">
<Arg>
<New class="com.example.CustomErrorHandler">
<Set name="server"><Ref refid="Server" /></Set>
</New>
</Arg>
</Call>
</Configure>