如何使用无 XML 的 Spring Web 应用程序设置 JBoss Wildfly 上下文根?

Posted

技术标签:

【中文标题】如何使用无 XML 的 Spring Web 应用程序设置 JBoss Wildfly 上下文根?【英文标题】:How to set JBoss Wildfly context root with XML-less Spring web application? 【发布时间】:2021-03-21 17:08:47 【问题描述】:

拥有一个带有 Maven 的 Spring 应用程序,其中所有配置都在 Java 中完成(以前存储在 web.xml 中的所有配置现在都在带注释的 @Configuration 文件或扩展 AbstractAnnotationConfigDispatcherServletInitializer 的 WebAppInitializer 中),我该如何设置上下文我在 JBoss Wildfly 中的应用程序的根?该应用没有web.xml,也没有jboss-web.xml

当应用使用 XML 配置时,上下文根在 jboss-web.xml 中设置,如下所示:

<jboss-web>  
    <context-root>mywebcontextroot</context-root>
</jboss-web>

【问题讨论】:

【参考方案1】:

JBoss wildfly 默认上下文根为war 文件的名称。在 Maven 中将 war 文件的名称设置为所需的值(Web 上下文根)可以解决问题:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <warSourceDirectory>WebContent</warSourceDirectory>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <warName>mywebcontextroot</warName>
    </configuration>
</plugin>

@Nikhil Bide 的更详细答案可以在 here 找到。

【讨论】:

以上是关于如何使用无 XML 的 Spring Web 应用程序设置 JBoss Wildfly 上下文根?的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个 Spring 应用程序的 web.xml 中注册多个 servlet

一Spring MVC基础

Spring Web工程web.xml零配置即使用Java Config + Annotation

SFA官方翻译:使用Spring 5引导Web应用程序

如何使用无 xml 配置添加 RequestContextListener?

使用 Roo 2.0 我找不到 web.xml 那么如何配置 Spring MVC