在无网络的VMware CentOS7上传并运行Swing Jar文件的方案
文章目录
前言
首先,本文的开发环境为无网络的VMware CentOS7。建议可联网的开发者,直接使用yum命令安装相关RPM包。
本文目标:
1、在VMware虚拟机Linux CentOS7系统上(无网络连接),配置VNC(可视化工具)的运行环境,用于Swing界面的展示。
2、将IDEA中编写的Swing程序,打为Jar包,上传到虚拟机上,并运行。
1、配置VNC环境
VNC的环境需要下载以下两个包:
- tigervnc-server
- xorg-x11-xauth
由于虚拟机无网络,所以首先要解决获取安装包的问题。本文使用的是repotrack下载命令,该命令的详细使用和安装可以参考这篇文章:linux在非联网、无网络环境下,使用yumdownload、reportrack方法安装rpm包。本文在此直接使用。
1.1、下载tigervnc-server
repotrack --download_path=/opt/temp/tigerVNC tigervnc-server
1.2、下载xorg-x11-xauth
repotrack --download_path=/opt/temp/xorg-x11-xauth xorg-x11-xauth
1.4、安装
将两个包上传到无网络的虚拟机上,本人放在同样的/opt/temp/目录路径下。
mkdir /opt/temp/tigerVNC
mkdir /opt/temp/xorg-x11-xauth
1.4.1、安装tigerVNC
cd /opt/temp/trigerVNC
rpm -Uvh *.rpm --force --nodeps
1.4.2、安装xorg-x11-xauth
执行同样的命令:
cd /opt/temp/xorg-x11-xauth
rpm -Uvh *.rpm --force --nodeps
1.5、测试vncserver
第一次输入vncserver需要创建密码:
vncserver
成功后显示的 “localhost:1(root)” 是一个标识符,包含两部分:主机名和显示编号。
- localhost:是指本地主机或服务器的名称。它表示 VNC 服务器所在的计算机。
- 1(root):是显示编号,它表示 VNC 会话的显示号码。VNC 服务器可以同时运行多个会话,每个会话使用不同的显示号码来标识。在这种情况下,“1” 表示创建的第一个会话。(记住这个号码:在本文第3部分,连接UltraVNC的时候会用到。)
补充: 每次虚拟机重启,上一次会话号无法继续使用,需要重新执行vncserver请求新的会话号。此时可以使用端口删除命令(每输入一次vncserver就会创建一个端口,可以删除多余的),以下操作可以保证端口始终保持在1。
vncserver -kill :1
vncserver
1.6、关闭防火墙
service firewalld stop
到此在虚拟机上的vnc环境已经配置成功了。
2、安装UltraVNC
软件在百度就可以下到,版本不限。本人是在:
ultravnc下载-2023最新版-远程监控工具 (yesky.com)
下载(可能会失效,直接百度关键词:UltraVNC下载。)
安装很简单,一直下一步到最后即可。
3、连接UltraVNC
1、安装完成后点击vncviewer.exe应用程序,出现如下界面,需要输入:
- 虚拟机IP地址;
- 端口号数字:这个数字是文章中1.5部分,输入vncserver后获得的"localhost:数字";
- 在输入密码,进行登录。
4、执行jar文件
首先要保证虚拟机上拥有Java运行环境。然后运行Jar
4.1、生成jar包
生成Jar包的方式可以参考以下两种:
生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin
4.2、运行jar包
java -jar -Djava.awt.headless=false 运行jar包的全路径
java程序报错:“main” java.awt.AWTError: Can’t connect to X11 window server using “:0.0” as the value of the DISPLAY variable.
4.3、解决无法连接错误
出现该报错信息的解决方案可以参考以下链接:
出现:Can‘t connect to X11 window server using “:0.0“ as the value of the DISPLAY variable的解决方案
配置完认证令牌后,再次运行jar文件,程序虽然可以运行成功,但是又产生了中文无法识别的乱码问题。
5、中文乱码问题
由于本机是新安装的操作做系统,系统中可能本身任何的中文字体,所以需要将Windows上的中文字体上传到虚拟机中。具体过程可以参考这篇博文:
在Centos7中,启动基于Swing的Jar文件时,出现中文变成小方块、无法识别的解决方案
总结
首先,需要配置VNC的环境,下载以下两个包:
- tigervnc-server
- xorg-x11-xauth
其次,需要安装并配置UltraVNC;
最后,将打包的jar文件上传虚拟机并执行。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!