大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行。首先想到的可能就是通过 java -jar xxx.jar 的方式来运行我们的jar包,程序运行正常,但是窗口被锁定,当我们关闭窗口或Ctrl + C打断程序运行时,程序就会退出,这肯定不是我们想要的,下面我介绍几种Linux下后台启动jar包的方法
成都创新互联专注于企业全网营销推广、网站重做改版、南湖网站定制设计、自适应品牌网站建设、HTML5建站、商城网站定制开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南湖等各大城市提供网站开发制作服务。
优化方法一:
表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出
优化方法二:
nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行
当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
优化方法三:
/usr/local/temp.txt 表示将所有启动的日志信息记录到temp.txt文件中
1、首先基本的运行 jar 包命令如下
这个命令会锁定命令窗口,当窗口关闭时,程序也就自动退出了,所以需要让 jar 包后台运行。
2、后台启动运行
3、指定输出文件
如下,xxx.log 就是指定的输出文件,如果不指定,默认在 jar 包所在目录,创建 nohup.out 文件。
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
符号是重定向符, 实现: 把它之前命令的所有输出信息重定向到后面的文件中, 而不是显示到屏幕上.
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里。
JAR包是Java中所特有一种压缩文档,我们可以通过相关命令解压jar包,下面由我为大家整理了linux下解压jar包命令的相关知识,希望对大家有所帮助。
一、linux解压jar包命令——jar命令详解
jar命令选项:
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...
其中{ctxu}这四个选项必须选其一。[v f m e 0 M i ]是可选选项,文件名也是必须的。
-c 创建一个jar包
-t 显示jar中的内容列表
-x 解压jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成详细的报造,并输出至标准设备
-m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0 产生jar包时不对其中的内容进行压缩处理
-M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i 为指定的jar文件创建索引文件
-C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
二、linux解压jar包命令——jar使用范例
(1)创建jar包
$ jar cf hello.jar hello 利用test目录生成hello.jar包,如hello.jar存在,则覆盖
(2)创建并显示打包过程
$ jar cvf hello.jar hello 利用hello目录创建hello.jar包,并显示创建过程
例:E:\jar cvf hello.jar hello
标明清单(manifest)
增加:hello/(读入= 0) (写出= 0)(存储了 0%)
增加:hello/TestServlet2.class(读入= 1497) (写出= 818)(压缩了 45%)
增加:hello/HelloServlet.class(读入= 1344) (写出= 736)(压缩了 45%)
增加:hello/TestServlet1.class(读入= 2037) (写出= 1118)(压缩了 45%)
(3)显示jar包
$ jar tvf hello.jar 查看hello.jar包的内容
指定的jar包必须真实存在,否则会发生FileNoutFoundException。
(4)解压jar包
$ jar xvf hello.jar 解压hello.jar至当前目录
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 将HelloWorld.java添加到hello.jar包中
(6)创建不压缩内容jar包
$ jar cvf0 hello.jar *.class 利用当前目录中所有的.class文件生成一个不压缩jar包
(7)创建带manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
创建的jar包多了一个META-INF目录,META-INF止录下多了一个manifest.mf文件,至于manifest.mf的作用,后面会提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目录及manifest.mf文件
(9)加-C应用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切换到hello目录下然后再执行jar命令
(10)-i为jar文件生成索引列表
当一个jar包中的内容很好的时候,你可以给它生成一个索引文件,这样看起来很省事。
$ jar i hello.jar
执行完这条命令后,它会在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件,
它会生成一个列表,最上边为jar包名。
(11)导出解压列表
jar tvf hello.jar hello.txt
如果你想查看解压一个jar的详细过程,而这个jar包又很大,屏幕信息会一闪而过,
这时你可以把列表输出到一个文件中,慢慢欣赏!
(12)jar -cvf hello.jar hello/*
例如原目录结构如下:
hello
|---com
|---org
你本想只把com目录和org目录打包,而这时jar命令会连同hello目洋也一块打包进。
这点大家要注意。jar命令生成的压缩文件会包含它后边出的目录。我们应该进入到hello目录再执行jar命令。
注意:manifest.mf这个文件名,用户可以任指定,但jar命令只认识Manifest.mf,它会对用户指定的文件名进行相应在的转换,这不需用户担心。
三、linux解压jar包命令——JAR命令使用技巧
(1) jar创建压ZIP文件
jar cvfM TestZIP.jar test 加M参数为了不生成META-INF相关内容
然后将TestZIP.jar改为TestZIP.zip就可以,是不是很简单....
(2) 使用WinRAR解压.jar文件
上边我们已经说过了,说JAR文件是一种特殊的压缩文件,所以它当然可以用我们常用的一些解压缩工具来解了,
至于怎么解,这就不用我说了吧。
(3) 用WinRAR生成.jar文件
我们已经说过JAR包与ZIP包主要区别就是JAR包中多一个META-INF的目录,
META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了。
目录的结构如下:
TestJar
|--META-INF
|--manifest.mf
|--相关的类文件
注意:还应该在manifest.mf填写内容,不会写?照着一个已有的抄不就行了