From bc9619fe401ff00039478aaff2d6ac181119a8d8 Mon Sep 17 00:00:00 2001 From: Steve Elliott Date: Mon, 27 Jul 2026 13:41:01 -0400 Subject: [PATCH] Migrate web.xml xsi:schemaLocation from J2EE 1.4 namespace The web.xml Jakarta migration updated xmlns and version attributes on J2EE 1.4 descriptors (http://java.sun.com/xml/ns/j2ee) but left the xsi:schemaLocation pointing at the old j2ee schema, because the oldValue regex only matched the newer 'javaee' namespace. Broaden the regex to also match 'j2ee' so schemaLocation is rewritten to the Jakarta EE 9 web-app_5_0.xsd. --- .../META-INF/rewrite/jakarta-faces-3.yml | 2 +- .../JavaxWebXmlToJakartaWebXmlTest.java | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/main/resources/META-INF/rewrite/jakarta-faces-3.yml b/src/main/resources/META-INF/rewrite/jakarta-faces-3.yml index e3c2be46ef..a7ced11fc5 100644 --- a/src/main/resources/META-INF/rewrite/jakarta-faces-3.yml +++ b/src/main/resources/META-INF/rewrite/jakarta-faces-3.yml @@ -214,7 +214,7 @@ recipeList: - org.openrewrite.xml.ChangeTagAttribute: attributeName: xsi:schemaLocation elementName: web-app - oldValue: (?s).*xml/ns/javaee.* + oldValue: (?s).*xml/ns/(j2ee|javaee).* newValue: https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd regex: true - org.openrewrite.xml.ChangeTagValue: diff --git a/src/test/java/org/openrewrite/java/migrate/jakarta/JavaxWebXmlToJakartaWebXmlTest.java b/src/test/java/org/openrewrite/java/migrate/jakarta/JavaxWebXmlToJakartaWebXmlTest.java index c898beba61..c9f619c5d6 100644 --- a/src/test/java/org/openrewrite/java/migrate/jakarta/JavaxWebXmlToJakartaWebXmlTest.java +++ b/src/test/java/org/openrewrite/java/migrate/jakarta/JavaxWebXmlToJakartaWebXmlTest.java @@ -66,6 +66,33 @@ void migrateSun() { ); } + @Test + void migrateJ2ee() { + rewriteRun( + //language=xml + xml( + """ + + + + """, + """ + + + + """, + sourceSpecs -> sourceSpecs.path("web.xml") + ) + ); + } + @Test void migrateWithSQLDataSource() { rewriteRun(