热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springBoot打包部署到远程服务器的tomcat中

这篇文章主要给大家介绍了关于springBoot打包部署到远程服务器的tomcat中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

Spring Boot项目一般都是内嵌tomcat或者jetty服务器运行,很少用war包部署到外部的服务容器,即使放到linux中,一般也是直接启动Application类,但是有些时候我们需要部署到外部的服务器,这对于Spring Boot来说却有点麻烦

下面话不多说了,来一起看看详细的介绍吧。

环境声明:

jdk:1.8

服务器:阿里云,ubuntu 16.04

springBoot:1.5.9.RELEASE

目的

将springBoot 打包到远程服务器的tomcat中。

pom.xml

<&#63;xml version="1.0" encoding="UTF-8"&#63;>

 4.0.0
 waibao
 project
 1.0-SNAPSHOT
 war
 
  org.springframework.boot
  spring-boot-starter-parent
  1.5.9.RELEASE
 
 
  1.8
 
 
     org.springframework.boot
   spring-boot-starter-web
    
  
     org.springframework.boot
   spring-boot-starter-tomcat
   provided
  
     org.mybatis.spring.boot
   mybatis-spring-boot-starter
   1.3.1
  
  
     org.springframework.boot
   spring-boot-starter-thymeleaf
  
  
     net.sourceforge.nekohtml
   nekohtml
   1.9.22
  
     org.springframework.boot
   spring-boot-starter-jdbc
  
     org.mybatis.spring.boot
   mybatis-spring-boot-starter
   1.3.1
  
     org.springframework.boot
   spring-boot-starter-test
   test
  
  
   mysql
   mysql-connector-java
   6.0.6
  
  
  
   com.alibaba
   druid
   1.1.5
  
  
  
   com.alibaba
   fastjson
   1.2.40
  
  
     org.springframework.boot
   spring-boot-devtools
   1.5.9.RELEASE
   true
   true
  
 
 
  /testweb
  
       org.apache.maven.plugins
    maven-war-plugin
    2.4
    
     false
    
   
  
 

注意

1、maven 插件不能使用springBoot自带的插件。我使用这个插件报以下错误

Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project project: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null

将maven插件修改为


  org.apache.maven.plugins
  maven-war-plugin
  2.4
  
   false
  

需要注意的是,因为我没有web.xml。所以多加了

  false

2、


 xxx

finalName 需要与 application.yml 中的 context-path 一致。

3、需要将tomcat的依赖改成编译时

   org.springframework.boot
   spring-boot-starter-tomcat
   provided
  

4、springBoot入口类,继承SpringBootServletInitializer 并覆盖

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  return application.sources(MainApplication.class);
 }

其中 MainApplication.class 是 springBoot的入口类。

打包

到项目的根目录下。如果你是用IDEA,直接到这里输入:

mvn clean package -DskipTests

打包结束后,会在项目的target 文件夹中生成对应的.war 文件

上传

直接将war文件丢到tomcat的webapps下面即可。

目前还未解决的问题:

原本是想直接打成jar包。然后直接启动springBoot。无耐打成Jar包,一直在maven插件部分报错。只能打成war包并上传到tomcat中。

如果有人解决了这个问题,请告诉我下。

这篇文章中,说这是个bug....

https://issues.apache.org/jira/browse/MSITE-724

更新。。。。

问题已经解决。 可以直接将springBoot打包成 Jar,并运行。

原因:


 
  org.springframework.boot
  spring-boot-maven-plugin
 

springBoot 给的官方例子,用的是这个插件。

Maven会自动下载 2.4 版本及 2.6版本的 maven-jar-plugin。

而,Maven 默认会依赖 2.6版本。。 一开始没注意到项目报的错误是,maven-jar-plugin 2.6jar 不兼容。导致一直找不到错误。。

也就是 2.6版本不兼容。 只要手动将其改成 2.4版本即可。 如下所示:


       org.springframework.boot
    spring-boot-maven-plugin
   
       org.apache.maven.plugins
    maven-jar-plugin
    2.4
   

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
author-avatar
山野木每子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有