spring boot 生成的jar包怎么使用
Spring-boot jar 包方式启动:
首先,为了防止和常扒配渗用的 Tomcat 8080 端口冲突,将 Spring-boot 项目的端口卖尺号设置为 9090。
具体方法:在 application.properties 文件里写 server.port=9090。
使用 maven 命令:clean package 打包。
放到服务器上一个合春脊适的位置。
使用 java -jar spring-boot01-1.0-SNAPSHOT.jar 命令,启动 jar 包。
然后,在浏览器输入 就可以看到有 json 格式的数据返回。
然而,上面的这种方式,只要控制台关闭,服务就不能访问了。下面我们使得 jar 包在后台运行。
Linux下运行springboot项目jar包,启动日志输出教程
启动之后,会在jar所在目录生成一个nuhup.log日志文件,记录控制台的日志输出。
备注:主要看符号两边: "" 对应输出什么和输出到哪里;
输出分为标准输出和错误输出,标准输出就是全输出,输出控制台信息;错误输出只是输出错误日志信息;
因此上面我们执行的 ***.jar nohup.log 21命令,可以拆解成 nohup.log 和 2 1两个输出,只看符号“”左边输出部分,分别代表默认标准输出到一个地方,然后错误日志输出到另一个地方,咱们后面再讲输出到什么地方。
输出到哪,分为输出到指定路径日志文件和重定向位置。
1.指定路径:如下:枝蠢肆 /data/work/log.log 这样便是指定输出到路径/data/work/log.log文件。
Linux上有一个特例路径/dev/null ,这路径就好像永久删除的回收站,当我们不需要输出任何信息时,就可以将输出指向/dev/null,那就不会有任何输出文件。
2.至于重定向,就是将文件重定向到一个地猛轿址,如下:
1 重定向到标准输出的地址,啥意思,就是输出到已指定的标准输出的地址。
2 重定向到错误输出的地址,就是输出到已指定的错误输出的地址。
比如nohup.log 21 ,意思是前面默认标准输出到了nohup.log日志下,后面错误输出也指向标准输出的地址,也即nohup.log日志下。
命令后面加的档雀 ,可让命令在后台执行,否则关闭会话会停止程序。
(1)nohup java -jar ***.jar /data/log.log 2/data/err.log
解释:标准日志输出到/data/log.log文件,错误日志输出到/data/err.log文件。
(2)nohup java -jar ***.jar /data/log.log 21
解释:标准日志输出到/data/log.log文件,错误日志重定向也输出到/data/log.log文件。
(3)nohup java -jar ***.jar /dev/null 2/data/err.log
解释:标准日志输出到/dev/null,也就是不输出标准日志,错误日志输出到/data/err.log文件。
一般采用上面(3)只输出错误日志就可以了,有需要的按照(1)进行输出。
springboot项目导出可执行的jar包
只需要灶激在项目的pom.xml文件配置 spring-boot-maven-plugin插件就可以了,备段如下:
注:plugins标签外层千万不要加pluginManagement,这个标签只是定义插件,并不真正启用插件。
打包插件 spring-boot-maven-plugin 和 maven-jar-plugin 的区别:
spring-boot-maven-plugin:将应用程序及其依赖jar一起打包到一个独立的jar中,打出来的是fat jar,可以直接通过 java -jar 命令启动仿辩誉。
maven-jar-plugin:只包括当前模块的jar,不包含依赖jar,无法直接启动。
Linux Centos7环境下Docker搭建并运行SpringBoot的jar包
1、使用maven工具生成jar包;
先点击clean,再点击packages
2、使用文件传输工具将jar包上传到服务器的拆昌岁目录下(如:/usr/local/pr)
本地的jar包路径在项目路径下的target目录下,如renren-fast.jar
同时新建一个Dockerfile文件,文件内容如下:
EXPOSE 对应项目的端口号
3、创建docker镜像
docker build -t renren .
docker images --查看镜像
4、启动镜像
docker run -d -p 8888:8888 renren
(一)报错:
WARNING: IPv4 forwarding is disabled. Networking will not work.
解旅睁决方式:
vi /etc/sysctl.conf
其中添加一行:
net.ipv4.ip_forward = 1
保存退出后,重启网络
systemctl restart network
(二)报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint mystifying_tesla
解决方式
重启docker
systemctl restart docker
重新加迅蔽载镜像
docker run -d -p 8888:8888 renren
5、网页输入一个接口,查看返回情况
3、Spring Boot打包成jar并运行
jar方式
Gradle 的 buildJar
执行完后会下工程的build/libs下生成可以运行的jar文件
1、windows
更好的方式是写一个bat文件,双击就可以运行了
也可以做成windows服务,开机启动
可以使用第三方工具做成exe
2、linux
将jar程序梁念设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。
其中:nohup命令的作用就是让程序在后台运行,不用担心关闭连接进程断掉的问题了
如果使用nohup命令提交作昌升业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件
同理,也可以写一个sh文件
1、耐渣老windows
直接关
2、linux
如果想杀掉运行中的jar程序,查看进程命令为:
将会看到此jar的进程信息
其中30768则为此jar的pid,杀掉命令为
也可以写一个sh文件
Gradle + Nexus 管理Spring Boot的Jar
Spring Boot 使你能轻松地创建独立的、生产级的、基于 Spring 且能直接运行的应用程序。
Gradle 是一种构建工具,和已有的ant、maven相比Gradle更简洁高效,胜任复纯哪链杂的构建任务,社区活跃,缓旅技术成熟。
Spring Boot Gradle插件在 Gradle中 提供Spring Boot支持,你可以做孙用它来做打包(生成可执行jar或war),运行Spring Boot应用程序,并提供的依赖关系管理 spring-boot-dependencies 。
Spring Boot的Gradle插件需要Gradle 4.0或更高版本。
Nexus作为Gradle的私服,请参考
gradle 默认有bootJar任务
需要jar包时执行bootJar命令即可。
上传开发版本运行 devUpload 命令,上传发布版本运行releaseUpload命令。