Linux后台运行Jar方法

16 篇文章 1 订阅
9 篇文章 0 订阅

部署jar包,war包到Linux Server:

  1. 项目打包成jar包或者war包,并且把项目放到Linux上
  2. 进入jar包或者war包所在的目录,使用命令启动jar包或者war包:
    $ java -jar mmscm-web.jar或者$ java -jar mmscm-web.war
  3. 关闭运行的jar包或者war包,使用命令:netstat -nlp |grep :8080查看进程ID,然后使用命令kill -9 id来停止

上面的方法启动后,如果关闭了ssh窗口,则jar包就会停止运行,要是需要jar包一直在后台运行,可以使用这个命令:

$ nohup java -jar mmscm.jar >mmscm.log
//mmscm.log为输出的日志文件,这个文件要是本来没有的会自动创建在jar包所在的目录

//若是需要存放在其他地方,则在这个文件前面添加具体位置,如
$ nohup java -jar mmscm.jar >/home/sysop/mmscm.log

//如果没有写这个文件,则会默认将所有输出重定向到nohup.out文件,此文件会自动创建在jar包所在文件夹中
$ nohup java -jar mmscm.jar

下面是关于jar包和war包的概念(网上寻找的资料所得,如有错误,可以回复此文章)

普通 jar 包 : 会将源码编译后以工具包(即将class打成jar包)的形式对外提供,此时,你的 jar 包不一定要是可执行的,只要能通过编译,可以被别的项目以 import 的方式调用。
可执行 jar 包 : 能通过 java -jar 的命令运行。
普通 war 包 : war 是一个 web 模块,其中包括 WEB-INF,是可以直接运行的 WEB 模块。做好一个 web 应用后,打成包部署到容器中。

可执行 jar
Spring boot 打可执行 jar 包 , 默认情况下, 直接打包即可 :

gradle  build 

打包成功后,文件默认生成路径在项目 build/libs 路径下

可执行 war
可执行 war 包的意思是 : war 包中包含了应用的所有依赖 。你可以直接通过 java -jar 来启动 , 也可以将其部署到服务器(如 Tomcat )中 。
我们在使用 Spring Boot 开发的时候,并不需要额外配置服务器 , 因为 Spring Boot 默认使用了内嵌容器,如 Tomcat ,因此在打包的时候需要做额外处理 。
第一步 : 配置依赖

dependencies {
     implementation 'org.springframework.boot:spring-boot-starter-web'
     providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' // 如果你使用的是 Tomcat , 添加此行。
}

上述 providedRuntime 确保内嵌的 Tomcat 服务器被打包到 WEB-INF/lib-provided 目录下。这样的好处是 : 如果你不想使用内嵌的 Tomcat,而是将 war 包部署到其他服务器的时候,内嵌服务器不会和外部服务器冲突. 即 java -jar 使用的是内嵌的 Tomcat 服务器,直接部署 war 到其他服务器的时候,不使用内嵌服务器 。

第二步 : 添加插件

apply plugin: 'war'

配置到此结束 。

第三步 : 打包

gradle  build  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值