使用springboot的jar包能够以service方式启动

 更新时间:2021年10月23日 17:16:37   作者:chushiyunen  
这篇文章主要介绍了使用springboot的jar包能够以service方式启动,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot jar包以service启动

场景

打出的jar包用java -jar肯定是可以启动的。 这种方式原生简单,但是对运维不友好。

于是要求改造,希望可以用service命令来启动。

过程

技术上完全可以实现的。

pom.xml配置

pom.xml 中有2个配置点:

<finalName>custom-app</finalName>
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
     <!-- 可执行 -->
        <executable>true</executable>
    </configuration>
</plugin>

注: finalName要保证唯一性,不要带 .1.1.SNAPSHOT 这样的版本号。

打包(maven),授权,启动:

先打包,然后执行如下脚本:

# 授权
chmod 755 custom-app ;
# 启动
./custom-app.jar

如果能够执行,表示maven配置生效了,jar包成了执行文件。

注: 查看jar包,发现前2,300行加入了shell脚本,这就是 <executable>true</executable> 生成的内容。

另: java -jar仍然是可以使用的,不会受到影响。

建立软连接,通过service命令来启动

命令如下:

# 建立软连接
ln -s /data/custom-app.jar /etc/init.d/custom-app
# 然后就可以用service命令启动了
service custom-app start
发现并没输出日志,那么怎么是否启动了? 如何看日志?
# 这里可以看启动的日志
/var/log/custom-app.log
# 查看pid,模板为: /var/run/<appname>/<appname>.pid
/var/run/custom-app/custom-app.pid 

systemctl配置

因没用到,暂略。

最下面的spring文档里也有systemctl配置的用法。

其他

关于配置的官网文档

SpringBoot启动服务的三种方式

1.IDEA启动

2.命令行启动

首先将命令行位置跳转到当前项目的根目录下,再输入“mvn spring-boot:run”命令,初次操作maven需要下载插件等待几分钟

3.命令行编译为jar启动

首先命令行在当前项目根目录运行编译命令“mvn install”,之后跳转到当前项目的target文件夹下(cd target)多出两个文件

接下来在命令行继续输入命令“java -jar 项目的jar名”

最后启动浏览器输入访问路径显示效果

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解java封装实现Excel建表读写操作

    详解java封装实现Excel建表读写操作

    这篇文章给大家分享了java封装实现Excel建表读写操作的相关知识点内容,有需要的朋友们可以学习下。
    2018-08-08
  • Java ArrayList 数组之间相互转换

    Java ArrayList 数组之间相互转换

    本文通过代码示例给大家讲解arraylist转化为数组,然后数组转化为arraylist的相关资料,感兴趣的朋友一起看看吧
    2015-11-11
  • Jmeter关联实现及参数化使用解析

    Jmeter关联实现及参数化使用解析

    这篇文章主要介绍了Jmeter关联实现及参数化使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java并发之线程池Executor框架的深入理解

    Java并发之线程池Executor框架的深入理解

    这篇文章主要介绍了Java并发之线程池Executor框架的深入理解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • java 使用poi动态导出的操作

    java 使用poi动态导出的操作

    这篇文章主要介绍了java 使用poi动态导出的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Java多线程之并发编程的核心AQS详解

    Java多线程之并发编程的核心AQS详解

    AQS ( AbstractQueuedSynchronizer)是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,下面小编和大家来一起学习一下吧
    2021-09-09
  • java使用Apache工具集实现ftp文件传输代码详解

    java使用Apache工具集实现ftp文件传输代码详解

    这篇文章主要介绍了java使用Apache工具集实现ftp文件传输代码详解,分享了详细连接ftp server和上传文件,下载文件的代码,以及结果展示,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • JavaWeb项目打开网页出现Session Error的异常解决方案

    JavaWeb项目打开网页出现Session Error的异常解决方案

    这篇文章主要介绍了JavaWeb项目打开网页出现Session Error的异常解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java SpringMVC的@RequestMapping注解使用及说明

    Java SpringMVC的@RequestMapping注解使用及说明

    这篇文章主要介绍了Java SpringMVC的@RequestMapping注解使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Spring中的事务拦截器顺序如何控制详解

    Spring中的事务拦截器顺序如何控制详解

    这篇文章主要介绍了Spring中的事务拦截器顺序如何控制详解,那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的顺序,需要的朋友可以参考下
    2024-01-01

最新评论