linux下怎么执行.jar程序

linux下怎么执行.jar程序,第1张

1、执行jar包的命令和在windows *** 作系统上是一样的,都是java -jar xxxx.jar。

2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。

nohup Java -jar getCimiss-surf.jar >consoleMsg.log 2>&1 &

其中:nohup命令的作用就是让程序在后台运行,不用担心关闭连接进程断掉的问题了,consoleMsg.log文件前提要创建好。

3、如果想杀掉运行中的jar程序,查看进程命令为:

ps aux|grep getCimiss-surf.jar

将会看到此jar的进程信息

data 5796 0.0 0.0 112656 996 pts/1S+ 09:11 0:00 grep --color=auto getCimiss-surf.jar

data 30768 6.3 0.4 35468508 576800 ? Sl 09:09 0:08 java -jar getCimiss-surf.jar

其中30768则为此jar的pid,杀掉命令为

kill -9 30768

linux下执行jar文件方法:命令行下进入文件目录,执行java-jarfile.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java-jar/file路径/file.jar,这样在桌面双击即可打开该jar文件\x0d\x0a\x0d\x0a创建可执行的JAR文件包详解:JAR文件就是JavaArchiveFile,顾名思意,它的应用是与Java息息相关的,是Java的一种文档格式。JAR文件非常类似ZIP文件--准确的说,它就是ZIP文件,所以叫它文件包。JAR文件与ZIP文件唯一的区别就是在JAR文件的内容中,包含了一个META-INF/MANIFEST.MF文件,这个文件是在生成JAR文件的时候自动创建的.举个例子,如果我们具有如下目录结构的一些文件:\x0d\x0a==\x0d\x0a`--test\x0d\x0a`--Test.class\x0d\x0a把它压缩成ZIP文件test.zip,则这个ZIP文件的内部目录结构为:\x0d\x0atest.zip\x0d\x0a`--test\x0d\x0a`--Test.class\x0d\x0a如果我们使用JDK的jar命令把它打成JAR文件包test.jar,则这个JAR文件的内部目录结构为:\x0d\x0atest.jar\x0d\x0a|--META-INF\x0d\x0a|`--MANIFEST.MF\x0d\x0a`--test\x0d\x0a`--Test.class\x0d\x0a创建可执行的JAR文件包,需要使用带cvfm参数的jar命令,同样以上述test目录为例,命令如下:jarcvfmtest.jarmanifest.mftest,这里test.jar和manifest.mf两个文件,分别是对应的参数f和m,其重头戏在manifest.mf。因为要创建可执行的JAR文件包,光靠指定一个manifest.mf文件是不够的,因为MANIFEST是JAR文件包的特征,可执行的JAR文件包和不可执行的JAR文件包都包含MANIFEST。关键在于可执行JAR文件包的MANIFEST,其内容包含了Main-Class一项。这在MANIFEST中书写格式如下:Main-Class:可执行主类全名(包含包名)\x0d\x0a例如,假设上例中的Test.class是属于test包的,而且是可执行的类(定义了publicstaticvoidmain(String[])方法),那么这个manifest.mf可以编辑如下:Main-Class:test.Test,这个manifest.mf可以放在任何位置,也可以是其它的文件名,只需要有Main-Class:test.Test一行,且该行以一个回车符结束即可。创建了manifest.mf文件之后,我们的目录结构变为:\x0d\x0a==\x0d\x0a|--test\x0d\x0a|`--Test.class\x0d\x0a`--manifest.mf\x0d\x0a这时候,需要到test目录的上级目录中去使用jar命令来创建JAR文件包。也就是在目录树中使用==表示的那个目录中,使用如下命令:jarcvfmtest.jarmanifest.mftest\x0d\x0a之后在==目录中创建了test.jar,test.jar就是执行的JAR文件包。运行时只需要使用java-jartest.jar命令即可。\x0d\x0a需要注意的是,创建的JAR文件包中需包含完整的、与Java程序包结构对应的目录结构。而Main-Class指定的类,也必须是完整的、包含包路径的类名,如上例的test.Test;而且在没有打成JAR文件包之前可以使用java来运行这个类,即在上例中javatest.Test是可以正确运行的(当然要在CLASSPATH正确的情况下)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8763754.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存