在外部tomcat上部署war时,Springboot应用程序将关闭。在页面上给出404错误

时间:2018-02-28 20:43:12

标签: java maven tomcat spring-boot

我有一个春季启动应用程序。我正在尝试在外部tomcat上部署应用程序war,但它在页面上给出了404错误。

嵌入tomcat它工作正常。但是,只要我将war文件保存在tomcat的webapps文件夹下并运行tomcat,它就会在页面上给出404错误。 我使用的是tomcat 8.0.48版本 下面是我的Application.java和pom.xml以及日志

Application.java

      @SpringBootApplication
      @ComponentScan({ "com.mcaim.medley" })
      @PropertySource(value = { "classpath:application.properties" })
public class Application extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args); 
}

}

的pom.xml

    <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.mcaim.medley</groupId>
<artifactId>MedleyBackend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.3.RELEASE</version>
    <relativePath></relativePath>
</parent>
<name>MedleyBackend</name>
<url>http://maven.apache.org</url>


<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <springframework.version>4.2.5.RELEASE</springframework.version>
    <hibernate.version>4.3.6.Final</hibernate.version>
    <jackson.version>2.5.3</jackson.version>

</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </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>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
    </dependency>
   <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180130</version>
  </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        </dependency>
     <dependency>
         <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
         <version>1.7.19</version>
     </dependency>

     <dependency>
            <groupId>org.apache.logging.log4j</groupId>
           <artifactId>log4j-api</artifactId>
          <version>2.5</version>
      </dependency>
  <dependency>
     <groupId>org.apache.logging.log4j</groupId>
     <artifactId>log4j-core</artifactId>
     <version>2.5</version>
  </dependency>
 <dependency>
     <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-jcl</artifactId>
    <version>2.5</version>
</dependency>
</dependencies>
<build>
    <plugins>
        <plugin><!-- Include if you want to make an executable jar[FAT JAR which 
                includes all dependencies along with sprinboot loader] that you can run on 
                commandline using java -jar NAME -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
         <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>

        <configuration>
            <source>1.8</source>
            <target>1.8</target>
          <executable>${JAVA_1_8_HOME}/bin/javac</executable>
        </configuration>
    </plugin>
    </plugins>
</build>

application.properties

     server.port=8080
     server.contextPath=/Medley
     logging.level.com.mcaim.medley=INFO
     logging.file=logs/medley-logging.log

日志

      2018-02-28 12:07:55.076  INFO 4892 --- [localhost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
      2018-02-28 12:07:55.108  INFO 4892 --- [localhost-startStop-1] c.m.medley.controller.Application        : Started Application in 5.922 seconds (JVM running for 11.438)
     2018-02-28 12:07:55.217  WARN 4892 --- [localhost-startStop-1] o.a.c.util.SessionIdGeneratorBase        : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [109] milliseconds.
     2018-02-28 12:07:55.217  INFO 4892 --- [localhost-startStop-1] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@651a4a8e: startup date [Wed Feb 28 12:07:50 PST 2018]; root of context hierarchy
      2018-02-28 12:07:55.217  INFO 4892 --- [localhost-startStop-1] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown

0 个答案:

没有答案