Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Tomcat 9在部署Spring Boot WAR时失败_Spring Boot_Intellij Idea_Tomcat9 - Fatal编程技术网

Spring boot Tomcat 9在部署Spring Boot WAR时失败

Spring boot Tomcat 9在部署Spring Boot WAR时失败,spring-boot,intellij-idea,tomcat9,Spring Boot,Intellij Idea,Tomcat9,我正试图从我的基本spring引导应用程序构建一个war文件。该应用程序将使用“mvn包”成功构建WAR,但是,当我将其部署到Tomcat 9服务器时,我得到以下消息: FAIL - Application at context path [/kevthedev] could not be started FAIL - Encountered exception [org.apache.catalina.LifecycleException: Failed to start component

我正试图从我的基本spring引导应用程序构建一个war文件。该应用程序将使用“mvn包”成功构建WAR,但是,当我将其部署到Tomcat 9服务器时,我得到以下消息:

FAIL - Application at context path [/kevthedev] could not be started
FAIL - Encountered exception [org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/kevthedev]]]
目标是构建一个基本的spring引导应用程序,并将其部署到Tomcat9服务器上。spring引导应用程序将没有嵌入式tomcat服务器,而是使用我构建的外部tomcat服务器9

下面是我的Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.kev.developer</groupId>
    <artifactId>kevthedev</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <name>kevthedev</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</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-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>${artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
附件是我的日志

2018-10-09 16:03:51.353  INFO 798 --- [o-8080-exec-114] com.zaxxer.hikari.HikariDataSource       : HikariPool-12 - Starting...
2018-10-09 16:03:51.566  INFO 798 --- [o-8080-exec-114] com.zaxxer.hikari.HikariDataSource       : HikariPool-12 - Start completed.
2018-10-09 16:03:51.627  INFO 798 --- [o-8080-exec-114] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2018-10-09 16:03:51.652  INFO 798 --- [o-8080-exec-114] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
2018-10-09 16:03:51.813  INFO 798 --- [o-8080-exec-114] org.hibernate.Version                    : HHH000412: Hibernate Core {5.2.17.Final}
2018-10-09 16:03:51.814  INFO 798 --- [o-8080-exec-114] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2018-10-09 16:03:51.842  WARN 798 --- [o-8080-exec-114] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
2018-10-09 16:03:51.842  INFO 798 --- [o-8080-exec-114] com.zaxxer.hikari.HikariDataSource       : HikariPool-12 - Shutdown initiated...
2018-10-09 16:03:51.869  INFO 798 --- [o-8080-exec-114] com.zaxxer.hikari.HikariDataSource       : HikariPool-12 - Shutdown completed.
2018-10-09 16:03:51.921  INFO 798 --- [o-8080-exec-114] ConditionEvaluationReportLoggingListener :
2018-10-09 16:03:51.926 ERROR 798 --- [o-8080-exec-114] o.s.boot.SpringApplication               : Application run failed

我需要包含一个依赖项。所有说明都说,您可以只将包配置为war,添加tomcat依赖项,然后更新主类以覆盖。然而,这不是唯一的事情

我需要在pom.xml中添加以下依赖项

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>

日志文件夹下的catalina.out或标准out日志文件中应该有更多日志。分析它们或将它们粘贴到这里。我将日志附在上面的问题上。为什么你必须部署一个Spring Boot应用程序作为对Tomcat的战争?我建议部署一个可执行JAR,其中运行Tomcat。颠倒问题。@duffymo我需要使用Docker容器设置环境。tomcat服务器与环境相关联。因此,我必须删除嵌入式tomcat并将应用程序部署到环境中。如果不是这样的话,我会一直嵌入tomcat。如果你在Docker中运行,你所需要的只是一个Java JVM来运行Spring Boot可执行文件。
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
grep "^$(date -I)" /opt/tomcat/logs/catalina.out


Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException