Repository: quarkusio/quarkus
Issue: Dev-UI v2 fails to work with swagger-ui extension after changing its path config

### Describe the bug

After changing the path config for swagger-ui and openapi extension in quarkus `application.properties` like this `quarkus.swagger-ui.path=my-custom-path` and this `quarkus.smallrye-openapi.path=/swagger`, Dev-UI v2 fails to load the swagger-ui page. Dev-UI v1 works as expected. The following error log was captured by my error mapping and interceptor when I tried to open the swagger-ui page link.

```
2023-05-18 22:41:17,043 INFO  [ao.pla.com.log.LoggingFilters$ResponseFilter] (vert.x-eventloop-thread-5) [Response] GET /q/swagger-ui (404 Not Found) (00:00:00.005)
2023-05-18 22:41:25,120 ERROR [ao.pla.ResponseErrorMappers$WebApplicationErrorMapper] (vert.x-eventloop-thread-6) web error raised, errorId: c1e06f2c-6ef0-49c3-8403-0de38fd99977: jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
        at org.jboss.resteasy.reactive.server.handlers.RestInitialHandler.handle(RestInitialHandler.java:71)
        at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:121)
        at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
        at org.jboss.resteasy.reactive.server.handlers.RestInitialHandler.beginProcessing(RestInitialHandler.java:48)
        at org.jboss.resteasy.reactive.server.vertx.ResteasyReactiveVertxHandler.handle(ResteasyReactiveVertxHandler.java:23)
        at org.jboss.resteasy.reactive.server.vertx.ResteasyReactiveVertxHandler.handle(ResteasyReactiveVertxHandler.java:10)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:177)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:141)
        at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:102)
        at io.quarkus.vertx.http.runtime.StaticResourcesRecorder$2.handle(StaticResourcesRecorder.java:88)
        at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1284)
        at io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:140)
        at io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:141)
        at io.vertx.ext.web.handler.impl.StaticHandlerImpl.lambda$sendStatic$1(StaticHandlerImpl.java:290)
        at io.vertx.core.impl.future.FutureImpl$3.onSuccess(FutureImpl.java:141)
        at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:54)
        at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:1589)


2023-05-18 22:41:25,123 INFO  [ao.pla.com.log.LoggingFilters$ResponseFilter] (vert.x-eventloop-thread-6) [Response] GET /q/openapi (404 Not Found) (00:00:00.002)
```

And also, this is a screenshot when I was trying to open the swagger-ui page. 
 
![image](https://github.com/quarkusio/quarkus/assets/118693213/78e3c449-97a1-4b3a-905a-8e26fe482cd2)


### Expected behavior

Dev-UI v2 should be ok to open swagger-ui page as expected, just like Dev-UI v1 does.

### Actual behavior

It just shows a blank page and reports a 404 NotFound error.

### How to Reproduce?

_No response_

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

_No response_

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

_No response_

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_

Changed files:
extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiConfig.java
extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/devui/OpenApiDevUIProcessor.java

diff --git a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/devui/OpenApiDevUIProcessor.java b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/devui/OpenApiDevUIProcessor.java
index e98b6a9f9f2..3e5cc8b6080 100644
--- a/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/devui/OpenApiDevUIProcessor.java
+++ b/extensions/smallrye-openapi/deployment/src/main/java/io/quarkus/smallrye/openapi/deployment/devui/OpenApiDevUIProcessor.java
@@ -4,24 +4,28 @@
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.devui.spi.page.CardPageBuildItem;
 import io.quarkus.devui.spi.page.Page;
+import io.quarkus.smallrye.openapi.common.deployment.SmallRyeOpenApiConfig;
+import io.quarkus.swaggerui.deployment.SwaggerUiConfig;
 import io.quarkus.vertx.http.deployment.NonApplicationRootPathBuildItem;
 
 public class OpenApiDevUIProcessor {
 
     @BuildStep(onlyIf = IsDevelopment.class)
-    public CardPageBuildItem pages(NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem) {
+    public CardPageBuildItem pages(NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem,
+            SwaggerUiConfig swaggerUiConfig, SmallRyeOpenApiConfig openApiConfig) {
 
-        String uiPath = nonApplicationRootPathBuildItem.resolvePath("swagger-ui");
+        String uiPath = nonApplicationRootPathBuildItem.resolvePath(swaggerUiConfig.path);
+        String schemaPath = nonApplicationRootPathBuildItem.resolvePath(openApiConfig.path);
 
         CardPageBuildItem cardPageBuildItem = new CardPageBuildItem();
 
         cardPageBuildItem.addPage(Page.externalPageBuilder("Schema yaml")
-                .url(nonApplicationRootPathBuildItem.resolvePath("openapi"))
+                .url(nonApplicationRootPathBuildItem.resolvePath(schemaPath))
                 .isYamlContent()
                 .icon("font-awesome-solid:file-lines"));
 
         cardPageBuildItem.addPage(Page.externalPageBuilder("Schema json")
-                .url(nonApplicationRootPathBuildItem.resolvePath("openapi") + "?format=json")
+                .url(nonApplicationRootPathBuildItem.resolvePath(schemaPath) + "?format=json")
                 .isJsonContent()
                 .icon("font-awesome-solid:file-code"));
 
diff --git a/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiConfig.java b/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiConfig.java
index b8d2180832a..deb0ad261ee 100644
--- a/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiConfig.java
+++ b/extensions/swagger-ui/deployment/src/main/java/io/quarkus/swaggerui/deployment/SwaggerUiConfig.java
@@ -21,7 +21,7 @@ public class SwaggerUiConfig {
      * By default, this value will be resolved as a path relative to `${quarkus.http.non-application-root-path}`.
      */
     @ConfigItem(defaultValue = "swagger-ui")
-    String path;
+    public String path;
 
     /**
      * If this should be included every time. By default, this is only included when the application is running