如何在Linux下运行jar包的方法

如何在Linux下运行jar包的方法,第1张

当需要把在Windows上开发的Java程序用在Linux上运行时,就需要吧该Java程序打包成jar包上传到Linux上去运行。首先想到的可能就是通过 java -jar xxxjar 的方式来运行我们的jar包,程序运行正常,但是窗口被锁定,当我们关闭窗口或Ctrl + C打断程序运行时,程序就会退出,这肯定不是我们想要的,下面我介绍几种Linux下后台启动jar包的方法

优化方法一:

& 表示后台运行,ssh窗口不被锁定,但是关闭窗口时,程序还是会退出

优化方法二:

nohup 表示不挂断运行命令行,当账号退出或关闭终端时,程序仍然运行

当用 nohup 命令执行作业时,该作业的所有输出被重定向到nohupout的文件中,除非另外指定了输出文件。

优化方法三:

 > /usr/local/temptxt 表示将所有启动的日志信息记录到temptxt文件中

java编译完了生成的都是class字节码文件 无法脱离jre独立运行

你要想摆脱JVM运行java写出来的程序

需要转换到各系统的可执行文件 比如win32下的exe

有些软件是可以做到的

几种比较常用的把java程序转换成exe文件的方法。

一、exe4j

说明:exe4j可以将Jar文件制作成exe文件,但需jre支持,也可将Jar文件放在外面。

软件性质:共享软件

二、JBuilder

说明:新版本的JBuilder可以直接把工程制作成各系统的可执行文件,包括Windows系统。

软件性质:商业软件

三、NativeJ

说明:与exe4j功能类似。

软件性质:共享软件

四、Excelsior JET

说明:可以直接将Java类文件制作成exe文件,除AWT和Swing及第三方图形接口外可不需jre支持(Java50不行)。

软件性质:共享软件

五、jshrink

说明:可将Jar文件打包进exe文件。同时具有混淆功能(这才是它的主要功能)。

软件性质:共享软件

六、InstallAnywhere

说明:打包工具,对Java打包最好用。可打包成各 *** 作系统运行包。包括Windows系统。

软件性质:商业软件。

1 阻塞式方式

java -jar xxxjar

特点: 当前终端的会话窗口被阻塞, 可按CTRL + C中断程序的运行, 或者直接关闭会话窗口 —— 此时jar程序将终止

2 后台运行方式

# 通过"&"符号实现后台运行:

java -jar xxxjar &

特点: 当前终端的会话窗口不会被阻塞, 但是如果关闭当前窗口, 程序将终止运行

3 后台持续运行方式

# 通过"nohup"命令实现后台运行:

nohup java -jar xxxjar &

nohup命令是不挂断运行命令的意思

特点: 当用户退出或终端关闭时, 程序的运行不受影响

说明: 用nohup命令运行任务时, 默认情况下这个任务的所有输出都将被重定向到nohupout文件中, 除非另外指定输出文件 指定输出文件方式为:

# 将输出重定向到xxxlog文件中:

nohup java -jar xxxjar > xxxlog &

> 符号是重定向符, 实现: 把它之前命令的所有输出信息重定向到后面的文件中, 而不是显示到屏幕上

定制自己的类加载器,从指定的jar包中加载类就行了

一般动态加载类都是直接用ClassforName()这个方法,但这个方法只能创建程序中已经引用的类,并且只能用包名的方法进行索引,比如 JavalangString,不能对一个class文件或者一个不在程序引用里的jar包中的类进行创建。但使用URLClassLoader 就可以直接根据创建一个单独的class文件,并且每当重新载入后并实例化后都是最新的方法。类似于jsp,当你在eclipse中改了一个jsp并且存储后,只要刷新页面就可以得到最新的结果而不用重新启动服务器。

URLClassLoader是在javanet包下的一个类。他的构造函数输入参数需要输入1个URL数组。假设我们有一个编译后的class文件在 C:\URLClass\testClassclass中,URLClassLoader进行加载,其中有个方法为test,我们需要动态加载这个类并且运行test方法

Java代码

File xFile=new File("d:/xxjar");

URL xUrl= xFiletoURL() ;

URLClassLoader ClassLoader=new URLClassLoader(new URL[]{ xUrl });

Class xClass=ClassLoaderloadClass("testClass");

Object xObject=xClassnewInstance();

Method xMethod=xClassgetDeclaredMethod("test");

用到jar包,可以用java -D参数来指明jar包的位置。如java -Djavaextdirs=相对路径 类名称。

如:

c:\>java -Djavaextdirs=jars 类名称。那么会把C:/jars文件夹下所有的jar包作为类的搜索范围

运行jar文件不可用是因为我们没有安装java环境,那么我们需要先在电脑上安装java环境了,有很多软件都集成了java环境,所以我们就以下载安装Java Runtime Environment为例。

大家可以通过电脑管家的软件搜索功能搜索java就可以搜索出来Java Runtime Environment,按你电脑的配置选择安装对应的32位或者64位的版本,这里直接点击安装就会自动下载安装完成了。

也可以通过百度搜索下载免费的Java 软件,点击java官方网站进入。

在Java 官方的软件下载页面上,点击免费java下载按钮。

java软件下载完成后双击打开进入安装界面,按提示完成java的安装就可以了。

通过上面的两种方式下载安装java环境后,现在我们再通过鼠标双击运行jar文件就可以正常打开了。

以上就是关于如何在Linux下运行jar包的方法全部的内容,包括:如何在Linux下运行jar包的方法、C语言编程可以实现用命令提示符打开Java程序吗、Linux下运行jar包的几种方式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10217369.html

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

发表评论

登录后才能评论

评论列表(0条)

保存