gpt4 book ai didi

java - 如何在tomcat服务器上部署spring boot web应用

转载 作者:IT老高 更新时间:2023-10-28 13:47:05 32 4
gpt4 key购买 nike

我已经创建了 Spring Boot Web 应用程序,但是我无法在 tomcat 上部署 Spring Boot Web 应用程序 WAR 文件,我可以将它作为 Java 应用程序运行。如何在 tomcat 上将 Spring Boot 应用程序作为 Web 服务运行。我正在使用以下代码。如果可以在 tomcat 上运行,请帮助我在不使用 web.xml 和使用 web.xml 的情况下使用注释。

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}

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

}

休息 Controller 的以下代码

@RestController
public class HelloWorld{

@RequestMapping(value = "/hello", method = RequestMethod.GET)
public ResponseEntity<String> get() {
return new ResponseEntity<String>("Hello World", HttpStatus.OK);
}
}

按照我正在使用的 Pom.xml

<groupId>org.springframework</groupId>
<artifactId>web-service</artifactId>
<version>0.1.0</version>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>

</dependencies>

<properties>
<java.version>1.6</java.version>
</properties>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
<packaging>war</packaging>

最佳答案

这里有两个关于如何部署 Spring Boot 的好文档应用程序作为 war文件。

你可以关注这个春靴 howto-traditional-deployment文档 -

根据本文档的步骤 -

  1. 您更新应用程序的主类以扩展 SpringBootServletInitializer .

  2. 下一步是更新您的构建配置,以便您的项目生成一个 war 文件而不是 jar 文件。 <packaging>war</packaging>

  3. 将嵌入式 servlet 容器依赖项标记为已提供。

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
    </dependency>

还有一种方法-

查看 spring io documentation其中概述了如何将 Spring Boot 应用程序部署到应用程序服务器。

步骤 -

  1. 更改jar包装至war .

  2. 注释掉 spring-boot-maven-plugin 的声明您的 pom.xml 中的插件

  3. 通过扩展 SpringBootServletInitializer 将 Web 入口点添加到您的应用程序中并覆盖 configure方法

  4. 删除spring-boot-starter-tomcat dependency并修改您的spring-boot-starter-web依赖于

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

在您的pom.xml , 删除 spring-beansspring-webmvc依赖关系。 spring-boot-starter-web依赖项将包括那些依赖项。

关于java - 如何在tomcat服务器上部署spring boot web应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34506712/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com