1) 在ECLIPSE下面EXPORT成为抄RUNNABLE JAR FILE。
2)拷贝1)中生成的JAR包,到LINUX中去。
3)随便搞个什么名字的.SH文件,里面输入java -jar XXX.jar
B. Linux下运行jar包的几种方式
1 阻塞式方式
java -jar xxx.jar
特点: 当前终端的会话窗口被阻塞, 可按CTRL + C中断程序的运行, 或者直接关闭会话窗口 —— 此时jar程序将终止.
2 后台运行方式
# 通过"&"符号实现后台运行:
java -jar xxx.jar &
特点: 当前终端的会话窗口不会被阻塞, 但是如果关闭当前窗口, 程序将终止运行.
3 后台持续运行方式
# 通过"nohup"命令实现后台运行:
nohup java -jar xxx.jar &
nohup命令是不挂断运行命令的意思.
特点: 当用户退出或终端关闭时, 程序的运行不受影响.
说明: 用nohup命令运行任务时, 默认情况下这个任务的所有输出都将被重定向到nohup.out文件中, 除非另外指定输出文件. 指定输出文件方式为:
# 将输出重定向到xxx.log文件中:
nohup java -jar xxx.jar > xxx.log &
> 符号是重定向符, 实现: 把它之前命令的所有输出信息重定向到后面的文件中, 而不是显示到屏幕上.
C. nohup日志文件过大
当nohup日志文件过大时:
1. cat /dev/null >nohup.out 该命令会清理掉日志内容,后续程序会继续写该文件
可以使用split定时分割日志,到其它目录下的文件,然后执行以上命令
2. 只记录错误日志
nohup java -jar *.jar >/dev/null 2>error.log 2>&1 &
3.不记录任何日志
nohup java -jar *.jar >/dev/null 2>&1 &
linux重定向:
0:表示标准输出
1:标准输出,在一般时使用,默认时标准输出
2:表示错误信息输出
D. nohup命令输出日志的方式
nohup ./start.sh & 默认输出到nohup.out文件
nohup ./start.sh >output 2>&1 & 指定输出到output文件
nohup java -jar xxx.jar >/dev/null 2>&1 & 不输出日志(避免日志太大)
操作系统中有三个常用的流: 0:标准输入流 stdin 1:标准输出流 stdout 2:标准错误流 stderr 2>&1:表示把标准错误2重定向到标准输出中1中,输出到>文件中 (> console.txt,实际是 1>console.txt的缩写)
E. putty中使用nohup命令运行jar包成功后,想不关闭窗口继续输入其他命令怎么办
nohupjava-jarXXX.jar>temp.txt&
放到后台执行。网页链接 如何在后台运行 Linux 命令并且将进程脱离终端
F. linux增加了nohup启动jar就无法启动求助
给nohup 加个当前目录的绝对路径,试试
G. linux下jar包启动命令,我用nohup java -jar + *.jar命令启动,此时命令
nohup java -jar + *.jar &
这样就可以再后台运行了。
liunx命令后+&为后台运行指令
H. linux如何启动一个jar包
首先,使用编译器把【Java】项目生成【Jar】包
总结
1
1.首先,使用编译器把【Java】项目生成【Jar】包
2.随后,打开我们常使用的连接软件【Xshell】
3.随后,进入【XShell】中,点击上方【文件夹图标】
4.随后从【左边的本地文件夹】内,移动到【线上服务器中】
5.随后,【cd】进入到刚刚我们移动的目录内
6.启动jar包的命令为【nohup java -jar cc-java-export &】
nohup:把输出内容放入到nohup的日志中并生成日志文件
java -jar:启动java的jar包命令
cc-java-export:此处放入你自己的jar包名称
&:关闭linux连接时 服务不会挂断
7.也可以把上方的代码 及【配置参数】封装到【.sh】的启动脚本中
I. linux安装jar命令
linux系统下jar是随着jdk安装的,所以安装jar其实很容易。下面由我为大家整理了linux下安装jar命令的相关知识,希望大家喜欢!
linux下安装jar命令
jar是随着jdk的安装的。在jdk安装的目录下有bin目录中,windows下的文件名为jar.exe,linux下文件名为jar.它的运行需要用到jdk安装目录下lib目录中的tools.jar.
jar文件在linux下的安装命令
首先安装java 的jdk..并设置 java environment.
then the order is: [root@localhoat root]# java -jar /the directory and file name, include .jar
附:linux下jar命令用法详解
jar的用法:
jar{ctxu}[vfm0M][jar-文件][manifest-文件][-c 目录] 文件名。。。
{ctxu}是jar命令的子命令,每次jar命令中只可以包含一个ctxu中的一个,分别表示:
-c创建新的jar文件包 --常用于打包
-t列出jar文件包的内容列表
-x展开jar文件包的指定文件或者所有文件--常用于解开包
-u更新已经存在的jar文件包
[vmf0M]中可以选,也可以不选,是jar命令的选项参数:
-v生成详细报告并打印到标准输出
-f指定jar文件名,这个参数是必须的
-m指定需要包含的manfest清单文件
-0只存储不压缩,速度快
-M不生成所有的清单文件
经常组合使用 cv0Mf/xvMf
补充:linux下运行jar包命令
java -jar xxxx.jar
Linux平台通过以下命令执行jar文件。 # java -jar file.jar
linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar文件 创建可执行的 JAR 文件包详解:JAR 文件就是...
linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar文件 创建可执行的 JAR 文件包详解:JAR 文件就是...
java -jar test.jar
在linux命令行下对jar进行解压缩操作,比如有个jar包/usr/local/EtnetChinaApplication.jar #解压jar包到临时目录cd /usr/localunzip EtnetChinaApplication.jar -d app#进入临时目录app,编辑文件ls app ...... log4j.properties xmemcache.prope...
java -jar xxxx.jar
nohup java -jar 启动1.jar & nohup java -jar 启动2.jar & nohup java -jar 启动3.jar &
这个shell脚本的话应该只会影响当前的窗口,运行完程序后把窗口关闭,再新开窗口,你的JDK应该还是1.4的 如果不行的话,那就运行完程序,再export一遍1.4的JDK 只对当前窗口有影响,换用户或者新开窗口都会变成1.4
不用用-cp, 有运行jar的-jar吧?或者jar 加什么,你想你要的库和主方法都在一个jar里,一般用不到-cp吧,除非你用到别的类库不在jar里。
J. jenkins上使用shell脚本nohup部署jar服务到remote服务器
先贴一下,我的jenkins里最后核心配置
remove_jar.sh脚本:
start_jar.sh脚本内容:
remove_jar.sh 和 start_jar.sh 在jenkins服务器上,需要将这两个shell在0.0.0.0(不能暴露)的远端去执行
没错,客官您一眼就看出来了,觉得简单的不值一提吧,先别着急,对搜这个问题的小菜鸡来说这里面也是大有文章,听我一一道来。
1、第一个问题:ps -ef|grep xxx.jar查到多余的pid
现象:在0.0.0.0上行 ps -ef | grep alk-wxapi-test.jar | grep -v grep | awk '{print $2}' 只能查到一个pid,但是把这句话放到shell脚本里,在本地使用命令上远端执行,就会找到3个pid,而且kill 时提示失败的错误。
现在已经知道原因了,但是当时确实是个问题。
已经解决不方便复现了,因此就描述一下就行了。
原因:shell里的这个命令也是通过bash在远程执行的,所以找到的别的 无关紧要 的pid其实是bash,因此在grep是除了排除grep本身( grep -v grep )外还要排除bash( grep -v bash )
最后命令是:
2、远程执行脚本,里面有nohup java -jar,发生错误: nohup: failed to run command ‘java’: No such file or directory
这是因为nohup时java环境变量没有读到,处理方式就是在nohup执行前加入
3、其他思路
4、第二条说jdk的路径因为每个服务企业都不一样,所以需要手动传改,这一点已经在脚本上做了修改,启动脚本上携带的第一个参数就是jdk的安装路径
这两个也都是比较好的思路,以后肯定有机会体验的,本篇到此。
ps -ef |grep -v 在shell sh 脚本中貌似无效?
linux下搭建zookeeper集群遇到的坑
nohup: cannot run command异常解决
Zookeeper not starting, nohup error