首页 文章

在外部TOMCAT启动后,Spring Boot应用程序立即关闭

提问于
浏览
1

在外部TOMCAT启动后,Spring启动会立即关闭 . 但是在Eclipse中运行良好,JAR也嵌入了 .

我使用Tomcat 7和JAVA 8.我阅读了很多不存在的网站和文档 .

我的Eclipse POM是:

http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0

<groupId>com.suez.demo</groupId>
<artifactId>Myapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

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

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.6.RELEASE</version>
    <relativePath/>
</parent>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <start-class>com.suez.demo.SuezApplication</start-class>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>       
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>       
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</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-web-services</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
      </dependency>
    <dependency>
        <groupId>org.apache.xmlbeans</groupId>
        <artifactId>xmlbeans</artifactId>
         <version>2.3.0</version>
    </dependency>   
    <dependency>
        <groupId>com.notnoop.apns</groupId>
        <artifactId>apns</artifactId>
         <version>1.0.0.Beta6</version>
    </dependency>
 <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
    </dependency>
     <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt</artifactId>
         <version>0.7.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
             <version>2.0.0.RELEASE</version>
        </plugin>           
          <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.13.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <generatePackage>com.suez.demo.ws</generatePackage>
                <generateDirectory>${project.basedir}/src/main/java</generateDirectory>
                <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
                <schemaIncludes>
                    <include>*.wsdl</include>
                </schemaIncludes>
            </configuration>
        </plugin> 

    </plugins>
</build>

Tomcat输出日志的最后一行是:

2018-06-29 10:27:37.874  INFO 640 --- [ost-startStop-3] com.suez.demo.SuezApplication            : Started SuezApplication in 29.104 seconds (JVM running for 91.714)
2018-06-29 10:27:37.905  INFO 640 --- [ost-startStop-3] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@75e8c829: startup date [Fri Jun 29 10:27:11 CEST 2018]; root of context hierarchy
2018-06-29 10:27:37.936  INFO 640 --- [ost-startStop-3] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2018-06-29 10:27:37.952  INFO 640 --- [ost-startStop-3] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

有谁可以帮助我吗?

1 回答

  • 0

    很难说出你提供的信息,但对我来说可疑的是你正在使用spring-boot-starter-web,这反过来又会带来tomcat的传递 .

    我看到这个模块的包装是WAR,因此它打算在外部Web容器中运行,但另一方面,你说它在“JAR with embed too”中运行良好 . 所以这有点令人困惑 .

    我从来没有将自己的Spring启动应用程序部署为WAR文件,但我相信你可以去Start.spring.io并生成一个将自己打包成WAR的示例应用程序 . 默认情况下不显示此选项,因此您必须单击"switch to the full version"链接

相关问题