好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springboot在服务器上的几种启动方式(小结)

一、使用内置的tomcat,通过java -jar的方式 启动

比如:java -jar bms.jar 

但是这种启动方式 一旦关闭控制台 或者crtl+c 退出 此时应用就关闭了

所以我们需要换种方式

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

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

?

1

2

3

4

5

6

7

8

9

10

11

<build>

    <plugins>

      <plugin>

         <groupid>org.springframework.boot</groupid>

         <artifactid>spring-boot-maven-plugin</artifactid>

         <configuration>

           <executable> true </executable>

         </configuration>

      </plugin>

    </plugins>

  </build>

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

?

1

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

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

?

1

2

3

4

5

/etc/init.d/bms start

 

/etc/init.d/bms stop

 

/etc/init.d/bms restart

当然,有些人启动的时候,可能会报下面的一个错误,这是权限不足

?

1

-bash: /etc/init.d/bms: permission denied

执行下面命令就可解决问题

?

1

2

cd /etc/init.d/

chmod a+x bms 或 chmod 777 bms

二、使用war包方式,通过tomcat启动

1、修改打包方式

?

1

<packaging>war</packaging>

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<dependency>

       <groupid>org.springframework.boot</groupid>

        <artifactid>spring-boot-starter-web</artifactid>

       <!-- 打包的时候以war包形式,这里要把springboot集成的tomcat去除 -->

       <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-tomcat</artifactid>

       <scope>provided</scope>

     </dependency>

3、修改启动类,

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

代码如下

?

1

2

3

4

5

6

7

8

9

10

/**

  * 修改启动类,继承 springbootservletinitializer 并重写 configure 方法

  */

publicclassspringbootstartapplication extends springbootservletinitializer {

   @override

   protectedspringapplicationbuilder configure(springapplicationbuilderbuilder) {

     // 注意这里要指向原先用main方法执行的application启动类

     returnbuilder.sources(bootstrap. class );

   }

}

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

三、myeclipse启动

右键单击restfuldemo类->run as->java application

启动完成

如果看到图中红色的提示语,说明项目正常启动,此时在浏览器输入http://localhost:8080/,就能看到[hello world!]的输出。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/qq_29992111/article/details/78749469

查看更多关于springboot在服务器上的几种启动方式(小结)的详细内容...

  阅读:61次