Hi,
I am upgrading from Java 8 to Java 17, using maven and Jetty 11.0.18. Everything compiles and the server starts, but I don't get the welcome file and for all servlets I get a 404. This is my Main, which is called during startup. The servlets are in the jar. What could be the problem?
Here is my Main
public static void main(String[] args) throws Exception {
// Create a server that listens on port 8080.
int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));
String host = System.getenv("HOST");
Server server;
if (host != null)
server = new Server(new InetSocketAddress("dev.domain.com", port));
else
server = new Server(port);
WebAppContext context = new WebAppContext();
//Resource base = Main.class.getClassLoader().getResource("./target");
//context.setBaseResource(base);
context.setContextPath("/");
context.setWelcomeFiles(new String[]{"index.html"});
context.setParentLoaderPriority(true);
server.setHandler(context);
// Load static content from inside the jar file.
URL webAppDir =
Main.class.getClassLoader().getResource("META-INF/resources");
System.out.println("webAppDir " + webAppDir);
// webAppContext.setResourceBase(webAppDir.toURI().toString());
System.out.println("Configuration discovered? " + context.isConfigurationDiscovered());
System.out.println("getBaseResource " + context.getBaseResource());
String [] classes = context.getConfigurationClasses();
for (int i = 0; i<classes.length; i++)
System.out.println("getConfigurationClasses " + classes[i]);
// server.setDumpAfterStart(true);
server.start();
}
The output:
webAppDir file:/C:/<rootdir>/target/classes/META-INF/resources
Configuration discovered? true
getBaseResource null
getConfigurationClasses org.eclipse.jetty.webapp.WebInfConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.WebXmlConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.MetaInfConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.FragmentConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.JndiConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.WebAppConfiguration
getConfigurationClasses org.eclipse.jetty.plus.webapp.EnvConfiguration
getConfigurationClasses org.eclipse.jetty.plus.webapp.PlusConfiguration
getConfigurationClasses org.eclipse.jetty.annotations.AnnotationConfiguration
getConfigurationClasses org.eclipse.jetty.webapp.JettyWebXmlConfiguration
Also tried to se MAVEN_OPTS to
-Dorg.eclipse.jetty.annotations.AnnotationConfiguration.LEVEL=DEBUG
but no relevant output.
setDumpAfterStart(true) didn't list any of my servlets, should it?
What am I missing?
Best,
Kjell