Spring Boot War如何部署到Tomcat?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

我正在尝试将Spring Boot应用程序部署到Tomcat,因为我想部署到AWS。我创建了一个WAR文件,似乎并未在Tomcat上运行,即使它可见。 0.这是我的应用程序:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
        SpringApplication.run(SampleController.class, args);
    }
}

@Controller
@EnableAutoConfiguration
public class SampleController {
    @RequestMapping("/help")
    @ResponseBody
    String home() {
        String input = "Hi! Please use 'tag','check' and 'close' resources.";
        return input;
    }
}

application.properties具有以下内容:

server.port=${port:7777}
  1. 我在POM中添加了以下内容: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 <groupId>com.niewlabs</groupId> <artifactId>highlighter</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.1.9.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> <scope>provided</scope> </dependency> </dependencies>
  2. 运行了“mvn package”并获得了WAR文件(大小为250Mb),我将其放入“webapps”文件夹中。
  3. 开始使用Tomcat,并能看到我的应用程序,在我的例子中是“/highlighter-1.0-SNAPSHOT”。
  4. 点击应用程序的链接会显示“状态404”页面。
  5. 当我自己运行Spring Boot应用程序时,如果没有容器,它会在localhost:7777上运行,但是当我在Tomcat中运行时没有任何容器。
提问于
用户回答回答于

基本上我需要添加以下类:

public class WebInitializer extends SpringBootServletInitializer {   
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(App.class);
    }    
}

我还向POM添加了以下属性:

<properties>        
    <start-class>mypackage.App</start-class>
</properties>
用户回答回答于

扫码关注云+社区

领取腾讯云代金券