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

 更新时间:2018年09月05日 09:39:36   作者:剑火6  
这篇文章主要介绍了springboot在服务器上的几种启动方式(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

比如:java -jar bms.jar 

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

所以我们需要换种方式

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

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

  <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包放入到服务器上,然后执行下面的命令

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

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

/etc/init.d/bms start 

/etc/init.d/bms stop

/etc/init.d/bms restart 

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

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

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

cd /etc/init.d/
chmod a+x bms 或 chmod 777 bms

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

1、修改打包方式

<packaging>war</packaging>

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

 <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方法

代码如下

/**
 * 修改启动类,继承 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!”的输出。

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

相关文章

  • Java实现线程通信的案例讲解

    Java实现线程通信的案例讲解

    所谓线程通信就是线程间相互发送数据,线程通信通常通过共享一个数据的方式实现。本文将通过案例详解Java中线程通信的实现,感兴趣的可以了解一下
    2022-05-05
  • 解决java读取EXCEL数据变成科学计数法的问题

    解决java读取EXCEL数据变成科学计数法的问题

    这篇文章主要介绍了解决java读取EXCEL数据变成科学计数法的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 手把手搭建Java共享网盘的方法步骤

    手把手搭建Java共享网盘的方法步骤

    这篇文章主要介绍了手把手搭建Java共享网盘,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • jboss配置方法简明教程

    jboss配置方法简明教程

    这篇文章主要介绍了jboss配置方法,较为简明扼要的说明了jboss服务器所需要的JDK环境安装设置以及jboss的安装与下载,并分析了配置与使用中的常见问题,需要的朋友可以参考下
    2016-08-08
  • 基于RabbitMQ的简单应用(详解)

    基于RabbitMQ的简单应用(详解)

    下面小编就为大家分享一篇基于RabbitMQ的简单应用(详解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • 详解Java中==和equals()的区别

    详解Java中==和equals()的区别

    这篇文章主要介绍了Java中==和equals()的区别,,==可以使用在基本数据类型变量和引用数据类型变量中,equals()是方法,只能用于引用数据类型,需要的朋友可以参考下
    2021-11-11
  • SpringBoot通过@Scheduled实现定时任务及单线程运行问题解决

    SpringBoot通过@Scheduled实现定时任务及单线程运行问题解决

    Scheduled定时任务是Spring boot自身提供的功能,所以不需要引入Maven依赖包,下面这篇文章主要给大家介绍了关于SpringBoot通过@Scheduled实现定时任务以及问题解决的相关资料,需要的朋友可以参考下
    2023-02-02
  • springboot整合rocketmq实现分布式事务

    springboot整合rocketmq实现分布式事务

    大多数情况下很多公司是使用消息队列的方式实现分布式事务。 本篇文章重点讲解springboot环境下整合rocketmq实现分布式事务,感兴趣的可以了解一下
    2021-05-05
  • Java基础之final关键字作用案例

    Java基础之final关键字作用案例

    这篇文章主要介绍了Java基础之final关键字作用案例,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Java利用redis zset实现延时任务详解

    Java利用redis zset实现延时任务详解

    zset作为redis的有序集合数据结构存在,排序的依据就是score。本文就将利用zset score这个排序的这个特性,来实现延时任务,感兴趣的可以了解一下
    2022-08-08

最新评论