【发布时间】:2017-03-18 21:20:07
【问题描述】:
是否有一种编程解决方案可以为 Tomcat 9 嵌入式服务器添加用于 servlet 3.1 注释扫描的类路径(除了琐碎的WEB-INF/classes)?不使用任何 XML、WAR 或 WEB-INF 文件夹。
我已经做到了这一点,但如果没有 WEB-INF 或 WAR 工件,我不知道如何进行:
static void startServer() {
Tomcat server = new Tomcat();
server.setPort(7070);
StandardContext context = (StandardContext) server.addWebapp("", "/");
WebResourceRoot resources = new StandardRoot(context);
resources.addPreResources(new DirResourceSet(resources, "/WEB-INF/classes", "build/classes/main/java/", "/"));
context.setResources(resources);
server.start();
server.getServer().await();
}
这是我对 Jetty 的解决方案:
static void startServer() {
final Server server = new Server(7070);
final WebAppContext context = new WebAppContext("/", "/");
context.setConfigurations(new Configuration[] { new AnnotationConfiguration(), new WebInfConfiguration() });
context.setExtraClasspath("build/classes/main");
server.setHandler(context);
server.start();
server.join();
}
【问题讨论】: