Jetty 11 未检测到 Jakarta servlet,我该如何调试它?

问题描述 投票:0回答:1

这是这个问题的后续。

我也有同样的情况,并且认为我已按照 Joakim 的答案和 EmbedMe 代码中的说明进行操作。我尝试使用 -X 开关运行 exec:java,但看不到与扫描 servlet 相关的任何内容。我还尝试为 org.eclipse.jetty.annotations.AnnotationConfiguration 设置 LEVEL=DEBUG

但运气不佳。 Servlet 在 Java 8 上运行良好。

一切都编译完毕,服务器以 mvn exec:java 启动并显示欢迎屏幕,但所有 servlet 返回 404

这是我的主要课程:

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.ourwines.com", port));
    else
        server = new Server(port);

    WebAppContext context = new WebAppContext();
    context.setContextPath("/");
    context.setWelcomeFiles(new String[]{"index.html"});
    context.setParentLoaderPriority(true);

    URL webAppDir =
        Main.class.getClassLoader().getResource("META-INF/resources");
    System.out.println("webAppDir " + webAppDir);
    context.setResourceBase(webAppDir.toURI().toString());
    context.setParentLoaderPriority(true);

    server.setHandler(context);


    
    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();
}
java maven servlets jakarta-ee jetty
1个回答
0
投票

我认为根本原因是胖罐的结构。我们还切换到 Tomcat 并让这部分工作。

© www.soinside.com 2019 - 2024. All rights reserved.