springboot的启动方式

application的main函数

本地开发使用

在项目的根目录下执行application类的main函数(使用的springboot内置的tomcat)

在pom文件中配置使用启动springboot的maven插件

本地开发使用

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

这样启动

springboot内置的tomcat

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

上传到正式环境然后java -jar启动

springboot中的maven插件

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

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

然后执行命令

sudo -ln -s /usr/local/server/xxx.jar /etc/init.d/bms

前面是jar包的路径,后面是启动项目的名字

执行完毕后,通过下面命令就可以启动关闭,重启项目了

线上部署,使用外部Tomcat

修改打包方式

<package>war</package>

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

Last modification:December 14, 2022
如果觉得我的文章对你有用,请随意赞赏