IDEA上创建 Maven SpringBoot项目发布到Tomcat
概述
上篇记录了IDEA上创建Maven SpringBoot+mybatisplus+thymeleaf 项目,但是如何将SpringBoot发布到Tomcat,直接采用Maven 命令Clear-Package指令之后,生成的War并不能访问,任然显示404错误。所以这个时候,需要修改代码内容部分;
代码调整项
1、修改pom.xml文件;
(1)、finalName要和Application.properties中的server.context-path值保持一致;
- <build>
- <finalName>htcv</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${jdk.version}</source>
- <target>${jdk.version}</target>
- </configuration>
- </plugin>
- </plugins>
(2)、pom加上javax.servlet.servlet-api依赖项;
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>3.0-alpha-</version>
- </dependency>
(3)、发布的时候排除内嵌tomcat服务器,避免冲突;
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
完整的pom.xml配置如下,记得将<packaging>jar</packaging>修改成<packaging>war</packaging>
- <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/maven-v4_0_0.xsd">
- <modelVersion>4.0.</modelVersion>
- <groupId>com.justin</groupId>
- <artifactId>htcspringboot</artifactId>
- <packaging>war</packaging>
- <version>1.0-SNAPSHOT</version>
- <name>Maven Quick Start Archetype</name>
- <url>http://maven.apache.org</url>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.5..RELEASE</version>
- <relativePath />
- </parent>
- <properties>
- <project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
- <java.version>1.8</java.version>
- <jdk.version>1.8</jdk.version>
- <mybatis-starter-version>1.2.</mybatis-starter-version>
- <mybatis.plus.version>2.1.</mybatis.plus.version>
- <ojdbc14.version>10.2.0.5.</ojdbc14.version>
- <druid.version>1.0.</druid.version>
- <spring.boot.version>1.5..RELEASE</spring.boot.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-tomcat</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-thymeleaf</artifactId>
- <version>${spring.boot.version}</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>${mybatis-starter-version}</version>
- </dependency>
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus</artifactId>
- <version>${mybatis.plus.version}</version>
- </dependency>
- <dependency>
- <groupId>com.oracle</groupId>
- <artifactId>ojdbc14</artifactId>
- <version>${ojdbc14.version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid</artifactId>
- <version>${druid.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>3.0-alpha-</version>
- </dependency>
- </dependencies>
- <build>
- <finalName>htcv</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${jdk.version}</source>
- <target>${jdk.version}</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </project>
2、修改java文件内;
让程序入口Main方法类继承SpringBootServletInitializer,重写configure方法;
- import com.justin.model.Einvoice;
- import com.justin.serviceapi.EinvoiceService;
- import org.mybatis.spring.annotation.MapperScan;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.Banner;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.boot.builder.SpringApplicationBuilder;
- import org.springframework.boot.web.support.SpringBootServletInitializer;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- @SpringBootApplication
- @RestController
- @MapperScan("com.justin.dao")
- public class Application extends SpringBootServletInitializer
- {
- @Autowired
- private EinvoiceService einvoiceservice;
- @RequestMapping("/")
- public String Greeting()
- {
- return "Justin Say Hello WOrld!";
- }
- @RequestMapping("/Add")
- public String AddEinvoice()
- {
- Einvoice Einv=new Einvoice();
- Einv.setInvoicecode("");
- Einv.setInvoicenum("");
- einvoiceservice.insertOne(Einv);
- return "INser SUCC";
- }
- @RequestMapping("/check/{invoicecode}")
- public String ShowInfo(@PathVariable("invoicecode") String invoicecode)
- {
- return einvoiceservice.GetInvoiceNUmByCode(invoicecode);
- }
- @RequestMapping("/Update/{invoicecode}/{invoicenum}")
- public String UpInfo(@PathVariable("invoicecode") String invoicecode,@PathVariable("invoicenum") String invoicenum)
- {
- einvoiceservice.ChangeCode(invoicenum,invoicecode);
- return "SUCC";
- }
- public static void main(String[] args)
- {
- SpringApplication.run(Application.class,args);
- }
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
- return configureApplication(builder);
- }
- private static SpringApplicationBuilder configureApplication(SpringApplicationBuilder builder) {
- return builder.sources(Application.class).bannerMode(Banner.Mode.OFF);
- }
- }
重新打包发布即可,输入网址 http://localhost:8080/htcv//HE/CIndex 即可访问自定义的页面内容项;
参考博客网址
spring boot项目发布tomcat容器(包含发布到tomcat6的方法) http://www.cnblogs.com/weixliu/p/6432342.html
IDEA上创建 Maven SpringBoot项目发布到Tomcat的更多相关文章
- IDEA上创建 Maven SpringBoot+mybatisplus+thymeleaf 项目
概述 在WEB领域,Java也是在不断的探索和改进,从开始的JSP--->Struts1--->Struts2+Spring--->Spring MVC--->SpringBo ...
- IDEA快速创建Maven+SpringBoot项目时:Cannot download https://start.spring.io;Status:403
先展示一下我遇到的问题: 用浏览器搜索是有页面的,但是但是但是呢,用IDEA快速构建的时候就报403 咳咳!巴格虐我万千遍,我待技术如初恋... 我看到的解决办法有以下两种,当然,我只想说:" ...
- idea 创建maven web项目部署在 tomcat maven plugin中
前提:1.安装jdk,多数系统使用jdk1.8.xxx,因此选择下载此版本的居多 2.安装Maven 3.部署到tomcat我们可以有两种方式,一种是利用tomcat插件来进行部署,另一种是下载tom ...
- IDEA上创建 Maven SpringBoot + zookeeper +dubbo 实例
概述 首先声明,本文是学习总结类型的博客内容,如有雷同纯属学习.本位主要结合zookeeper和dubbo做个简单实例.目前来说,一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越 ...
- IntelliJ IDEA上创建maven Spring MVC项目
IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...
- Java归去来第2集:利用Eclipse创建Maven Web项目
一.前言 如果还不了解剧情,请返回第一集的剧情 Java归去来第1集:手动给Eclipse配置Maven环境 二.利用Eclipse创建Maven Web项目 选择File-New- ...
- Java Web 入门(一)使用 Intellij IDEA 14.1.5 创建 Maven Web项目
1.基础配置 1.1 安装 JDK1.7,配置系统变量:JAVA_HOME 和 Path 1.2 安装 Tomcat 7.0 1.3 安装 Intellij IDEA 14.1.5 1.4 Mave ...
- Intellij IDEA创建Maven Web项目
1前言 在创建项目中,IDEA提供了非常多项目模板,比方Spring MVC模板,能够直接创建一个基于Maven的Spring MVC的demo,各种配置都已经设定好了,直接编译部署就能够使用. 最開 ...
- Eclipse创建Maven Web项目后更改Servlet版本
Eclipse创建Maven Web项目后更改Servlet版本 1.场景基于Eclipse通过maven-archetype-webapp原型创建一个Web项目后,其默认Servlet版本是2.3, ...
随机推荐
- 【转】thread.sleep(0)与thread.sleep(1)的区别
Thread.Sleep(0) Sleep的意思是告诉操作系统自己要休息n毫秒,这段时间就让给一个就绪的线程吧.当n=0时,意思是要放弃自己剩下的时间片,但是仍然是就绪状态.Sleep(0)只允许那些 ...
- sass个人学习笔记
Materliu 在慕课的视频: http://www.imooc.com/learn/364 . http://www.imooc.com/wiki/371 sass入门:http://www.w3 ...
- WebSocket参考
websocker是一种网页和服务端建立tcp全双工通信的技术,可以不再让页面进行向服务器发送轮询请求. 需要注意使用的场景,如果建立的tcp过多的话,会对服务器有很大压力. WebSocket前后台 ...
- Go断言
用Go语言提供的类型检测方法,同时也可作为断言的解决方案: package main import ( "fmt" "reflect" ) type MyStr ...
- Django 笔记(五)自定义标签 ~ 映射mysql
创建简单标签: 1-3 或者 2-3 创建包含标签: 1-2或1-3或1-4(推荐) 包含标签使用: 2 和 4对应上面的使用方法 在虚拟环境中安装: pip install pymysql 在set ...
- css3 曲线阴影,翘边阴影
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ios 本地存储文件夹的使用注意
文件夹 tmp 属于临时文件夹,不需要自己删除,系统会在应用退出后清空 文件夹 Library 下面的子文件 Caches 也是用来存储的,,但是Library 基本上不会被清除,但是在内存不足的 ...
- Confluence 6 设置 Oracle 数据库准备
请查看 Supported Platforms 页面来获得 Confluence 系统支持的 Oracle 数据库版本.你需要在安装 Confluence 之前升级你的 Oracle 数据库. 如果你 ...
- Confluence 6 选择一个默认的语言
管理员可以设置应用到你 Confluence 站点所有空间的默认语言.请注意,一个独立的用户可以在他们自己的属性中选择他们独立的语言属性. 设定默认的语言 在 Confluence 站点中修改默认的语 ...
- vue.js----之router详解(一)
在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...