Sprint Boot 打War包并启动

简介: Sprint Boot 打War包并启动

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.yunfeng</groupId>
  <artifactId>YFEidApi</artifactId>
  <version>1</version>
  <packaging>war</packaging>
  <parent>
       <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>0.5.0.M7</version>
  </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 移除嵌入式tomcat插件 -->
            <exclusions>
            <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring3</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.tomcat</groupId>
          <artifactId>tomcat-servlet-api</artifactId>
          <version>9.0.0.M22</version>
          <scope>provided</scope>
        </dependency>
    </dependencies>
    <properties>
        <start-class>com.eid.controller.App</start-class>
    </properties>
    <build>
        <plugins>
            <plugin>
                <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>
            </configuration>
          </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</project>

App.java

package com.eid.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
      System.out.println("Start App Class....");
        SpringApplication.run(App.class, args);
    }
}

SpringBootStartApplication.java

package com.eid.controller;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.SpringBootServletInitializer;
/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(App.class);
    }
}

TestController.java

package com.eid.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
    @RequestMapping("/t1")
    public String  showPerson() {
        return "test";
    }
}

20170810085610211.png

注意:当RestController需要接收参数是需要满足两个条件


1.请求的The request’sContent-Typeheader must be set toapplication/json.


2.The JacksonJSONlibrary must be available on the application’s classpath.


所以在classpath中添加了一个jar。问题解决了。

        <dependency>  
            <groupId>com.fasterxml.jackson.core</groupId>  
            <artifactId>jackson-databind</artifactId>  
            <version>2.5.3</version>  
        </dependency>
相关文章
|
10月前
|
Java 应用服务中间件 Maven
Spring Boot项目打war包(idea:多种方式)
Spring Boot项目打war包(idea:多种方式)
353 1
|
10月前
|
Java 应用服务中间件 API
SpringBoot项目 Tomcat部署war程序时启动成功但是访问404异常处理
SpringBoot项目 Tomcat部署war程序时启动成功但是访问404异常处理
963 0
|
2月前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
174 64
SpringBoot项目打war包流程
|
Java
SpringBoot:Jar包工程启动、停止、重启脚本
SpringBoot:Jar包工程启动、停止、重启脚本
1224 0
|
10月前
|
Java Linux
SpringBoot项目快速启动停止脚本
SpringBoot项目快速启动停止脚本
68 0
|
10月前
|
Java 应用服务中间件 Maven
Tomcat部署SpringBoot war包
Tomcat部署SpringBoot war包
106 0
|
XML 应用服务中间件 数据格式
Tomcat部署项目的方法
已知项目访问路径为:http://ip:port/工程路径/资源路径 我们以项目名称是hello为例,以下方法部署后通过http://localhost:8080/hello即可访问工程项目(没有填写资源路径,默认访问hello目录下的index.html文件) 一、直接将项目放到webapps目录下
|
Java 应用服务中间件
SpringBoot在Tomcat部署war包
SpringBoot在Tomcat部署war包
106 0
|
存储 缓存 前端开发
SpringBoot项目jar、war包启动解析
war包是Java Web应用程序的一种打包方式符合Servlet标准,它是Web Archive的缩写,主要用于存储Web应用程序相关的文件,包括Java类文件、JSP、HTML、CSS、JavaScript、图片等资源文件。 war包需要部署到web服务器中(Tomcat、Apache、IIS)
284 0