将Spring Boot App部署到JBoss Wildfly

Deploying Spring Boot App to JBoss Wildfly

JBoss Wildfly

了解如何将Spring Boot应用程序部署到JBoss Wildfly

我们知道,当我们创建任何Spring Boot应用程序时,它都带有嵌入式Tomcat服务器,并且我们不需要额外设置服务器。发生这种情况的原因是,在Spring Boot父项目中,它具有对Tomcat的依赖关系,并且当我们启动Spring Boot应用程序时,它将使用Tomcat服务器本身来引导应用程序。

您可能还会喜欢:欢迎使用Spring Boot(具有嵌入式Tomcat功能)

但是有时,我们的要求可能包括创建一个war文件,然后将其部署到任何Web应用程序服务器,例如JBoss。在本文中,我们将看到如何打包Spring Boot应用程序并将其部署到任何外部服务器。在这里,我们将使用JBoss执行以下任务:

  • 创建一个Spring Boot应用程序

  • 从应用程序中删除嵌入式Tomcat服务器

  • 生成可以部署到JBoss服务器的war文件

  • 创建一个Spring Boot应用程序

  • 您可以通过从 start.spring.io。生成一个项目来创建Spring Boot应用程序。

  • 下载后,您可以将Maven项目作为现有Maven项目导入到IDE(建议使用Spring Tool Suite)。

  • 然后,实施Maven构建以获取所需的依赖关系。

  • 将嵌入式Tomcat服务器与Spring Boot应用程序分开

  • 首先,打开pom.xml并添加Tomcat依赖项。接下来,您可以将范围更改为提供的范围。当我们按照提供的范围进行操作时,这意味着此依赖项仅在编译时可用,而在运行时不可用。这是因为我们在编译时需要这种依赖性来编译与Web组件相关的文件。

  • 添加Tomcat依赖项并将其范围更改为所提供的内容将为我们提供以下内容:

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <!-- Make sure that you changed the packaging to war -->
     <packaging>war</packaging>

  • 然后,在Spring Boot主类中扩展 SpringBootServletInitializer 类,并覆盖configure方法。我们需要执行此操作以在任何其他Servlet容器(如JBoss)中初始化应用程序。

  • 您可以在下面看到扩展SpringBootServletInitializer并覆盖configure方法的代码。

  • 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @SpringBootApplication
    @EnableSwagger2
    public class SpringBootDemoApplication extends SpringBootServletInitializer {

      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
        return builder.sources(SpringBootDemoApplication.class);
      }

      public static void main(String[] args){
        SpringApplication.run(SpringBootDemoApplication.class, args);
      }
    }

  • 使用此配置,应用程序已准备好部署到任何外部应用程序服务器。

  • 完成此操作后,您可以将Spring Boot应用程序打包为war并将其部署到JBoss服务器。为此,您需要运行mvn clean package,这将生成war文件。

  • 目前为止就这样了。我们希望您喜欢这个简短的演示。确保在评论部分中留下想法和问题。

    进一步阅读

    欢迎使用Spring Boot(具有嵌入式Tomcat功能)

    介绍Spring Boot

    [DZone Refcard] JBoss入门