第一种(本地开发使用)
在项目的根目录下有一个带有main函数的Application类,可以直接执行这个main函数。(使用的是SpringBoot内置的tomcat)

第二种(本地开发使用)
在pom文件中配置使用启动SpringBoot的maven插件。配置如下


启动的使用可以使用mvn spring-boot:run启动,我用的是IDEA的maven插件

第三种(线上部署使用)也就是使用spring boot内置的tomcat运行
使用maven工具打包(jar包),打包时要注意,由于模块与模块之间的依赖关系,所以打包是要有顺序的,需要先打被依赖的模块;你也可以在父类模块上打一个包。我用的是IDEA工具开发。打包流程先打开打包跳过测试,然后分别执行clean和install

还可以通过命令打包,先点击上图中带有小m的按钮。要注意是否是选中的要打包的项目

打完包在你的项目用的target目录下会有个一jar文件

上传到服务器,然后执行java -jar命令启动,你也可以在命令中加上JVM的优化参数和一些环境参数。我下面这个就加了环境参数,你也可以从这里指定你启动时的配置文件,和指定日志输出文件(需要特别注意:一定要在命令的最后加一个&符号,要不然,你Ctrl+C的时候项目会停掉,加上后意思是后台启动)

第四种方式(第三种的变种)
springboot中的maven插件,提供了一种很方便的类似于shell的开启、关闭、重启服务的操作。而且这种启动方式是让项目在后台运行的,关闭shell也不会使项目停止运行

1、首先,项目的pom添加下面的插件,然后maven install


2.将打包好的springboot jar包放入到服务器上,然后执行下面的命令


前面是你服务器上jar包路径,后面是你启动项目的名字

3、上述命令执行完全之后,通过下面的命令就可以启动、关闭、重启项目了

第五种方式(线上部署,使用外部Tomcat)

首先修改打包方式


2、移除springboot内置tomcat,添加测试tomcat依赖。。修改pom.xml文件


3、修改启动类

在application的同目录下,添加一个新的类,继承SpringBootServletInitializer并重写其configure方法


4、将war包放到服务器上的tomcat下,重启即可。。。

springboot打包成的jar和普通jar包区别

springboot打包成的jar和普通jar包是有一定区别的。这是一个可运行的jar包。这样我们可以直接通过java -jar 来直接运行这个jar包。

我们先来看下springboot打成jar包后的结构和内容:

 
springboot项目打包的jar

普通jar:

 
传统jar

通过上面两个图的对比,我们知道这个JAR包与传统JAR包的不同之处在于里面有一个名为lib的目录,在这个目录中包含了这个简单应用所依赖的其他JAR包,其中也包含内置的嵌 入式Tomcat,正是使用它,才能发布服务和访问Web资源。除了我们编写的源码所编译形成的CLASS以外,在org目录下还有许多Spring所提 供的CLASS,正是依赖这些CLASS,才能够加载位于lib目录下JAR中的类。这样的加载机制与在OSGi bundle中声明Bundle-Classpath很类似,不过在OSGi中会由容器来负责加载指定路径下的类。这大致阐述了这样一个JAR包能够发布服务的原因。

最新文章

  1. 混合使用UITabBarController和UINavigationController
  2. 解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。
  3. jsp登入oracle
  4. 两表(多表)关联update的写法
  5. Swift 中的利刃,函数和闭包
  6. css制作小三角
  7. Android面试,IntentService的原理及使用
  8. Linux环境下搭建php开发环境的操作步骤
  9. 关于angularjs过滤器的小尝试
  10. maven项目添加db2的jar包
  11. 基于Qt的手机程序----口袋理财
  12. volatile CAS
  13. JavaScript之Date日期对象扩展
  14. 怎样从外网访问内网Jupyter Notebook?
  15. Golang字符串格式化
  16. 使用IcoMoon生成图标字体
  17. ubuntu下wordcount例子
  18. 消息通讯之关于消息队列MQ必须了解的相关概念
  19. win10不能被远程解决方案(开启远程桌面,防火墙仍不能被远程解决方案)
  20. BZOJ3745 COCI2015Norma(分治)

热门文章

  1. 【Linux】- CentOS7安装java运行环境
  2. webpack3.X的学习
  3. 防止按钮重复点击的思路(js篇)
  4. PHP操作XML方法之 XML Expat Parser
  5. ajax请求的原生js实现
  6. 记录常用的linux命令
  7. xshell本地上传文件到Ubuntu上及从Ubuntu上下载文件到本地
  8. CleanMyMac x如何关闭自动更新,CleanMyMac关闭自动更新的方法
  9. 决策树(Decision Tree)算法 python简单实现
  10. Java中IO流之字符流