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