Skip to content

Commit ae7c297

Browse files
authored
Merge pull request #44063 from rodcheater/43825-ignore-missing-servlet-class-in-web-xml
Undertow: ignore missing servlet class in web.xml
2 parents fc18f96 + df4696b commit ae7c297

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/UndertowBuildStep.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -430,10 +430,14 @@ public ServletDeploymentManagerBuildItem build(List<ServletBuildItem> servlets,
430430
//add servlets
431431
if (webMetaData.getServlets() != null) {
432432
for (ServletMetaData servlet : webMetaData.getServlets()) {
433+
String servletClass = servlet.getServletClass();
434+
if (servletClass == null) {
435+
continue;
436+
}
433437
reflectiveClasses.accept(
434-
ReflectiveClassBuildItem.builder(servlet.getServletClass()).build());
438+
ReflectiveClassBuildItem.builder(servletClass).build());
435439
RuntimeValue<ServletInfo> sref = recorder.registerServlet(deployment, servlet.getServletName(),
436-
context.classProxy(servlet.getServletClass()),
440+
context.classProxy(servletClass),
437441
servlet.isAsyncSupported(),
438442
servlet.getLoadOnStartupInt(),
439443
bc.getValue(),
@@ -447,7 +451,7 @@ public ServletDeploymentManagerBuildItem build(List<ServletBuildItem> servlets,
447451
if (webMetaData.getAnnotations() != null) {
448452
for (AnnotationMetaData amd : webMetaData.getAnnotations()) {
449453
final ServletSecurityMetaData ssmd = amd.getServletSecurity();
450-
if (ssmd != null && amd.getClassName().equals(servlet.getServletClass())) {
454+
if (ssmd != null && amd.getClassName().equals(servletClass)) {
451455
// Process the @ServletSecurity into metadata
452456
ServletSecurityInfo securityInfo = new ServletSecurityInfo();
453457
securityInfo.setEmptyRoleSemantic(
@@ -471,7 +475,7 @@ public ServletDeploymentManagerBuildItem build(List<ServletBuildItem> servlets,
471475
}
472476

473477
final MultipartConfigMetaData mcmd = amd.getMultipartConfig();
474-
if (mcmd != null && amd.getClassName().equals(servlet.getServletClass())) {
478+
if (mcmd != null && amd.getClassName().equals(servletClass)) {
475479
servlet.setMultipartConfig(mcmd);
476480
}
477481
}

extensions/undertow/deployment/src/main/java/io/quarkus/undertow/deployment/WebXmlParsingBuildStep.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ WebMetadataBuildItem createWebMetadata(ApplicationArchivesBuildItem applicationA
7979
}
8080
if (metadata.getServlets() != null) {
8181
for (ServletMetaData i : metadata.getServlets()) {
82-
additionalBeans.add(i.getServletClass());
82+
String servletClass = i.getServletClass();
83+
if (servletClass != null) {
84+
additionalBeans.add(servletClass);
85+
}
8386
}
8487
}
8588
if (metadata.getFilters() != null) {

0 commit comments

Comments
 (0)