当前位置: 首页 > 面试题库 >

Spring Boot War部署到Tomcat

司寇安宜
2023-03-14
问题内容

我想将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>
  1. 我运行了“ mvn软件包”,并得到了WAR文件(大小为250Mb),并将其放入“ webapps”文件夹中。

  2. 我启动了Tomcat,并能够看到列出的应用程序,在本例中为“ /highlighter-1.0-SNAPSHOT”。

  3. 单击应用程序的链接将显示“状态404”页面。
  4. 当我单独运行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>


 类似资料:
  • 我试图将工件部署到nexus。当我尝试使用本地机器时,它工作正常。但是当我尝试在另一台机器中使用nexus时,它会抛出错误。 我已经配置了

  • Spring Boot的可执行jar是现成的,适用于大多数流行的云PaaS(平台即服务)提供商。 这些提供商往往要求您“自带容器”。 它们管理应用程序进程(而不是具体的Java应用程序),因此它们需要一个中间层,使您的应用程序适应云的运行过程概念。 两个流行的云提供商Heroku和Cloud Foundry采用“buildpack”方法。 buildpack将您部署的代码包装在启动应用程序所需的任

  • 最近,我发现可以使用Spring Boot附带的ServletRegistrationBean将自己的servlet bean添加到MVC中。但是文档似乎表明这只适用于嵌入式servlet容器:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html我的简

  • 我试图部署一个JavaRest服务器tomcat,使用Maven tomcat插件,但Tomcat不能正常工作。 部署时(通过-e tomcat7:deploy或-e tomcat7:redeploy),Tomcat会回复: 我已经检查过tomcat正在运行。我在上一个堆栈溢出上找到的修复都不起作用。 这是我对tomcat插件的pom配置: 这是我的maven设置: 这就是网络。xml: 我的配置

  • 所以我对Spring很陌生--所以我想试试Spring Boot 我正在使用一个Maven来构建--我设置了一个视图请求,当我以“app”的形式运行它时,看起来就像它自己启动了tomcat,并且我有一个默认8080端口的服务,所以当我调用时,一切都很好。 然而,当我试图将其打包为WAR部署到服务器时,它不起作用 所以我想我应该回到基础,并将它部署到本地的tomcat服务器上,看看会发生什么 所以首

  • > 在阅读了大量页面和问答后,我在POM中添加了以下内容: http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0 我运行了“MVN包”,得到了WAR文件(大小250MB),我把它放进了“webapps”文件夹。