SPRING BOOT 手动 War 文件部署到 Tomcat 并重新启动服务器,不创建数据库

     2023-02-26     131

关键词:

【中文标题】SPRING BOOT 手动 War 文件部署到 Tomcat 并重新启动服务器,不创建数据库【英文标题】:SPRING BOOT Manual War file Deployment to Tomcat and restarting server, Not create Database 【发布时间】:2015-05-21 11:21:59 【问题描述】:

当我从 IDE 运行我的 spring boot 项目时,它会创建数据库并将战争部署到 tomcat。当我将war文件手动部署到tomcat并重新启动tomcat时,我希望看到同样的事情。但似乎在部署期间没有创建数据库。我在这里想念什么。

我记得,在过去,我以前做过同样的事情并且它有效,是与Spring Boot有关还是与pom文件中提供的构建插件有问题

这是我的 POM 文件。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.xxx.yyy</groupId>
    <artifactId>webapp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.1.5.RELEASE</version>
        <relativePath />
    </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-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> 
            </dependency> -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-solr</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jetty</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

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

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>$jstl.version</version>
        </dependency>

        <dependency>
            <groupId>displaytag</groupId>
            <artifactId>displaytag</artifactId>
            <version>$displaytag.version</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

    </dependencies>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.xxx.Application</start-class>
        <java.version>1.7</java.version>
        <jstl.version>1.2</jstl.version>
        <displaytag.version>1.2</displaytag.version>
    </properties>

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

</project>

【问题讨论】:

【参考方案1】:

我想通了。

我将 Application 类更改为

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application  extends SpringBootServletInitializer

    public static void main(String[] args) 
        SpringApplication.run(applicationClass, args);
    

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        return application.sources(applicationClass);
    

     private static Class<Application> applicationClass = Application.class;



并删除了以下插件

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

并添加了

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

它有效:)。万事如意

【讨论】:

将 WAR 部署到 Tomcat(Spring Boot + Angular)

】将WAR部署到Tomcat(SpringBoot+Angular)【英文标题】:DeployWARtoTomcat(SpringBoot+Angular)【发布时间】:2020-06-1716:48:42【问题描述】:我正在尝试将带有WAR打包的SpringBoot应用程序部署到Tomcat10。应用程序已成功部署,但是,当我尝试访... 查看详情

部署为 .war 时的 Spring-Boot 日志记录配置

】部署为.war时的Spring-Boot日志记录配置【英文标题】:Spring-BootLoggingconfigurationwhendeployedas.war【发布时间】:2014-10-1821:47:14【问题描述】:我有一个简单的spring-boot应用程序被打包为能够部署到外部Tomcat容器的.war文件。我在类路... 查看详情

一个 Spring Boot 项目,部署到 JAR 或 WAR

】一个SpringBoot项目,部署到JAR或WAR【英文标题】:OneSpringBootproject,deploytobothJARorWAR【发布时间】:2014-07-1503:16:06【问题描述】:有没有办法在不更改pom.xml或应用程序源的情况下将单个SpringBoot项目打包到JAR和WAR中?我已阅读Convert... 查看详情

Spring Boot War 文件部署在 Tomcat 上

】SpringBootWar文件部署在Tomcat上【英文标题】:SpringbootwarfiledeployonTomcat【发布时间】:2015-09-0316:36:01【问题描述】:我使用带有gs-rest-service源文件的SpringBoot1.2.4.RELEASE。我得到了:127.0.0.1--[18/Jun/2015:09:59:25+0300]"GET/gs-rest-service-0.1.0/... 查看详情

在 tomcat 上部署 Spring Boot WAR 文件显示错误 404

】在tomcat上部署SpringBootWAR文件显示错误404【英文标题】:SpringBootWARfiledeploymentontomcatshowsError404【发布时间】:2019-02-2721:55:59【问题描述】:我尝试在独立的Tomcat7.0.91上部署Gradle+SpringBoot2+Angular2应用WAR文件。如果我使用提供的jar... 查看详情

如何将 Spring Boot 和 Angular 应用程序部署为单个 war 文件?

】如何将SpringBoot和Angular应用程序部署为单个war文件?【英文标题】:HowtodeploySpringbootandAngularapplicationassinglewarfile?【发布时间】:2021-12-2804:46:50【问题描述】:我想将SpringBoot和Angular应用程序部署为单个war文件。我尝试过如下操... 查看详情

如何手动将war文件部署到tomcat?

】如何手动将war文件部署到tomcat?【英文标题】:Howtodeploywarfilestotomcatmanually?【发布时间】:2013-02-0500:28:47【问题描述】:我在"C:\\DocumentsandSettings\\myProj.war".位置有一场战争该网络项目也可通过"C:\\DocumentsandSettings\\myP... 查看详情

使用war将spring-boot和angular 7应用程序部署到tomcat 8.5中

】使用war将spring-boot和angular7应用程序部署到tomcat8.5中【英文标题】:Deployspring-bootandangular7applicationusingwarintotomcat8.5【发布时间】:2019-08-1611:47:33【问题描述】:我正在尝试使用war将Angular7+SpringBoot应用程序部署到tomcat中。我已经... 查看详情

将 Spring Boot WAR 部署到 Tomcat 8 - 访问资源时的 HTTP 404

】将SpringBootWAR部署到Tomcat8-访问资源时的HTTP404【英文标题】:DeployingSpringBootWARtoTomcat8-HTTP404whenaccessingresources【发布时间】:2017-01-0408:41:57【问题描述】:我是SpringBoot的新手,正在努力将一个简单的HTMLWeb应用程序(AngularJS)部署到... 查看详情

springboot应用war包形式部署到外部tomcat

 SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一下SpringBoot项目打War包形式部署到外部Tomcat。修改原有项目1.修改项目打开项目,修改pom文件:1.项目中加入spring-boot-starter-web(如果是已... 查看详情

如何在 Spring Boot 应用程序中启用 HTTPS,在 Tomcat 中部署为 WAR 文件?

】如何在SpringBoot应用程序中启用HTTPS,在Tomcat中部署为WAR文件?【英文标题】:HowtoenableHTTPSinaSpringBootapplication,deployedasWARfileinTomcat?【发布时间】:2019-07-0719:37:36【问题描述】:我有一个SpringBoot应用程序,作为WAR文件部署在AWS的T... 查看详情

无法在外部 tomcat 上部署 Spring Boot 应用程序

】无法在外部tomcat上部署SpringBoot应用程序【英文标题】:Unabletodeployspringbootapplicationonexternaltomcat【发布时间】:2021-04-0814:58:23【问题描述】:我正在尝试将SpringBoot应用程序部署到externaltomcat,我在catalina.log文件中收到以下异常... 查看详情

Tomcat 中 Spring Boot War 文件的外部化配置

】Tomcat中SpringBootWar文件的外部化配置【英文标题】:ExternalizingconfigurationforaSpringbootwarfileinTomcat【发布时间】:2017-11-2413:37:28【问题描述】:我有一个SpringBootWeb应用程序部署到tomcat的webapps目录。我也有基于配置文件的application-&a... 查看详情

Spring Boot App 部署到 Weblogic 12c 并且无法启动

】SpringBootApp部署到Weblogic12c并且无法启动【英文标题】:SpringBootAppdeployedtoWeblogic12candfailedtoStart【发布时间】:2018-03-0923:22:54【问题描述】:我尝试创建一个SpringBoot可部署的War文件,然后将其部署到weblogic12c。应用程序启动失败... 查看详情

Spring Boot中多war应用的集成测试

】SpringBoot中多war应用的集成测试【英文标题】:Integrationtestingofmulti-warapplicationinSpringBoot【发布时间】:2014-11-2618:52:14【问题描述】:我有一个由多个mavenwar项目组成的应用程序。我有另一个maven项目,它使用org.springframework.web.cli... 查看详情

Spring Boot 应用 WAR 部署到 Resin 4:有没有办法先使用 app (WEB-INF/lib) 类加载器?

】SpringBoot应用WAR部署到Resin4:有没有办法先使用app(WEB-INF/lib)类加载器?【英文标题】:SpringBootapplicationWARdeploymenttoResin4:isthereawaytouseapp(WEB-INF/lib)classloaderfirst?【发布时间】:2018-02-2712:45:44【问题描述】:我正在尝试将SpringBoot应... 查看详情

在 Eclipse 中从 Spring:boot 项目创建 war 文件

】在Eclipse中从Spring:boot项目创建war文件【英文标题】:CreatewarfilefromSpring:bootprojectinEclipse【发布时间】:2018-06-0303:33:19【问题描述】:我是SpringBoot的新手,我已经完成了一个在我的本地主机上运行良好的应用程序。正如我被告知... 查看详情

Spring Boot + Angular 应用程序作为 WAR 部署到 Heroku,抛出 404,除非我在 URL 中包含“index.html”

】SpringBoot+Angular应用程序作为WAR部署到Heroku,抛出404,除非我在URL中包含“index.html”【英文标题】:SpringBoot+AngularappdeployedtoHerokuasaWAR,throws404unlessIinclude"index.html"intheURL【发布时间】:2021-04-2305:42:35【问题描述】:我正在... 查看详情