无法基于现有(jboss)standalone.xml配置thorntail project-defaults.yaml

pom.xml(使用Thorntail 2.4.0.Final)

我正在尝试将thorntail应用程序从Java 8升级到11-该应用程序当前正在使用jboss10。我决定从standalone.xml移至projects-default.yaml,因为这会将jboss / wildfly升级到基于thorntail的最新版本2.4.0。

协助转换

        <subsystem xmlns="urn:jboss:domain:undertow:8.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="sdom">
        <buffer-cache name="default"/>
        <server name="default-server">
            <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
            <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
            <host name="default-host" alias="localhost">
                <location name="/prop" handler="properties"/>
                <location name="/" handler="welcome-info"/>
                <http-invoker security-realm="ApplicationRealm"/>
            </host>
        </server>
        <servlet-container name="default">
            <jsp-config/>
            <websockets/>
        </servlet-container>
        <handlers>
            <file name="welcome-info" path="${jboss.home.dir}/welcome-info"  directory-listing="false"/>
            <file name="properties" path="${jboss.home.dir}/" directory-listing="true"/>
        </handlers>
    </subsystem>


对于yaml project-default-这是我所做的。

swarm:
  undertow:
    handler-configuration:
      files:
        default:
          path: "${jboss.home.dir}/"
          directory-listing: true
    servers:
      default:
        hosts:
          default:
            alias: localhost
            locations:
              default:
                handler: properties
            http-invoker-setting:
              security-realm: ApplicationRealm
        https-listeners:
          default:
            enable-http2: true
            security-realm: ApplicationRealm
            socket-binding: https
        http-listeners:
          default:
            enable-http2: true
            redirect-socket: https
            socket-binding: http
    servlet-containers:
      default:
        default-buffer-cache: default
    default-virtual-host: default-host
    default-servlet-container: default
    default-server: default-server


但是我得到下面的错误。

ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0362: Capabilities required by resource '/subsystem=undertow/server=default/host=default/location=default' are not available:
    org.wildfly.extension.undertow.handler.properties; Possible registration points for this capability:
        /subsystem=undertow/configuration=handler/file=*
        /subsystem=undertow/configuration=handler/reverse-proxy=*
,121 FATAL [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0056: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.

最佳答案

这是对我有用的配置。

swarm:
  undertow:
    handler-configuration:
      files:
        properties:
          path: "${jboss.home.dir}/"
          directory-listing: true
        welcome-content:
          path: "${jboss.home.dir}/welcome-content"
          directory-listing: false
    servers:
      default-server:
        hosts:
          default-host:
            alias: localhost
            locations:
              /prop:
                handler: properties
              /:
                handler: welcome-content
            http-invoker-setting:
              security-realm: ApplicationRealm
        https-listeners:
          default-https:
            enable-http2: true
            security-realm: ApplicationRealm
            socket-binding: https
        http-listeners:
          default:
            enable-http2: true
            redirect-socket: https
            socket-binding: http
    servlet-containers:
      default:
        default-buffer-cache: default
    default-virtual-host: default-host
    default-servlet-container: default
    default-server: default-server

09-05 07:32