首页 > 解决方案 > 如何使用无 XML 的 Spring Web 应用程序设置 JBoss Wildfly 上下文根?

问题描述

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

当应用程序使用 XML 配置时,上下文根设置jboss-web.xml如下:

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

标签: javaspringjbossservlet-3.0contextroot

解决方案


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 的更详细答案。


推荐阅读