当前位置: 首页 > article >正文

DeepIn,UOS统信专业版安装运行Java,JavaFx程序

        因为要适配国产统信UOS系统,要求JavaFx程序能简便双击运行,由于网上UOS开发相关文章少,多数文章没用,因此花了不少时间,踩了不少坑,下面记录一些遇到的问题,我的程序环境是jdk1.8,为maven模式开发的JavaFx程序。在这之前要先打开开发者模式和允许任意应用运行

1.Jar文件运行

        打包过程就不说了,网上很多,我是在IDEA上打包出的jar,放到uos系统后,首先下载jdk配置环境,使用命令行下载之后,jdk环境会默认配置好,我下载的是openjdk8,然后遇到第一个坑Jar文件在命令行使用Java -jar xxx.jar,无法运行,该文件在Windows系统可正常运行,但在UOS上报"找不到或无法加载主类"如下错误:

          

如图可以看到jdk版本和报错信息,也可以看到两个系统jdk版本一致,这个问题整了很久,后面在UOS上试运行Windows系统下打包的测试Jar文件,发现可以正常运行,于是猜测问题可能出在JavaFx组件上,又试运行Swing编写的界面程序,可以正常运行,确定是JavaFX导致的问题,为什么同个版本jdk会出现这种问题呢,一番搜索答案出现了

因为Linux下,下载的是openJdk,而openJdk是没有附带JavaFx,而Windows上用的是OracleJdk是有JavaFx,虽然Oracle后面的Jdk版本也把JavaFx分开了,但是Oracle jdk1.8是有的,这就是导致JavaFx不能跨环境运行的原因,找到原因,于是开始操作,我先想到的是把openjdk缺的Jfx组件补上,发现不行,找到Linux各样技术文章总结大致步骤应该如下,

1.要找到对应jar包,2.要放到openjdk对应文件夹下 3.运行命令导出模块

这个方法我没有成功,也没看到哪个文章把这件事说清楚,所以我换个思路,不用openjdk1.8,用更高版本,但还是要面对openjavafx和openjdk整合问题,后面准备研究。

第三个就是图中提到的方法了,安装oraclejdk1.8,这样就可以了,下面是安装步骤

2.UOS安装Oracle Jdk1.8

        首先卸载原先的jdk环境,可以打开终端在命令行上执行

sudo apt-get remove openjdk*

执行完毕后,openjdk会卸载,并清除配置环境,可以用Java -version做测试,接下来就是安装OracleJdk1.8,首先要下载Linux下的OracleJdk1.8,资源在这jdk-8u371-linux-x64.tar.gz jdk-8u371-windows-x64.exe 【jdk-8u371】 全平台下载_horizon08的博客-CSDN博客

        如果链接失效,可以给该博主留言,我只下载了我需要的版本。下载解压之后就要自己配置环境了,但是我想尽可能让程序安装运行过程简便,于是省去环境配置步骤,实现双击运行。

3.双击运行Jar文件

这个过程在刚开始研究时也遇到很多问题,因为待开发产品不需要上商城推广,所以我走了简便方法,需要上商城的可以去了解打包审核流程,UOS也可以安装AppImage格式,关于这些我没有深入研究,下面只介绍如何双击运行Jar文件,一共有两种方法,选其一即可

a.使用.sh脚本运行jar包

创建start.txt文件(文件命名随意),编辑如下内容:

#! /bin/bash
/data/home/UOS/ideajdk/jdk1.8/bin/java -jar face.jar

/data/home/UOS/ideajdk/jdk1.8/bin/java是下载解压的oraclejdk目录地址,face.jar是需要启动的jar文件,根据自己实际情况做改动,然后修改文件后缀名为.sh,右键->属性->允许以程序运行,即可双击,选择运行即可

注意:要运行的jar文件没有指定目录地址,所以start.sh文件要和jar文件在同一个目录下,不然要指定jar所在的文件目录

b.配置.desktop格式文件,运行jar包

        这个方式相比于a,更为通用,a方式只是针对一个jar包运行,而b方式配置之后则可以运行所有.jar文件格式,具体配置方法如下:

首先找到usr/share/applications文件夹,如图

在该文件夹下打开终端,具体内容参考

linux java 双击运行_在深度deepin系统中使用双击运行jar文件的方法-CSDN博客

因为没有jdk配置环境变量,所以需要在这里做些改动,

Exec字段要写上jdk的文件路径,如果环境已经配置,则不需要,保存之后双击jar文件

选择默认打开方式为Java程序,后续就可以双击直接运行了

除此之外,UOS也可以运行exe文件,需要下载Wine,后续有时间再补充文章
 


http://www.kler.cn/a/162653.html

相关文章:

  • 前端 JS面向对象 原型 prototype
  • 客户案例 | 如何利用Ansys工具提供互联系统(以及系统的系统),从而使“软件定义汽车”成为可能
  • 数学建模模型算法-Python实现
  • 量化交易系统开发-实时行情自动化交易-3.4.2.Okex行情交易数据
  • [项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]
  • SpringBoot(十)SpringBoot使用QQ邮箱stmp发送邮件
  • LeetCode-496. 下一个更大元素 I【栈 数组 哈希表 单调栈】
  • pip的常用命令
  • 获取系统固件类型和Windows固件API学习
  • 行云海CMS SQL注入漏洞复现
  • GO -- 设计模式
  • 如何使用技术 SEO 优化 Pinterest 富图钉
  • JVM虚拟机:如何查看JVM初始和最终的参数?
  • 管理类联考——数学——真题篇——按题型分类——充分性判断题——秒杀
  • 论文阅读《Learning Adaptive Dense Event Stereo from the Image Domain》
  • Orcal数据库Schema理解、表分区理解
  • 【kubernetes】k3s集群搭建(正在更新……)
  • 利用mybatis-plus查询时报错?
  • 【C语言】操作符详解(一):进制转换,原码,反码,补码
  • golang开发之个微机器人的二次开发
  • 二叉树03-遍历02
  • vuepress-----13、分割config
  • zotero关闭翻译自动创建标签
  • openlayers地图使用---跟随地图比例尺动态标绘大小的一种方式2
  • 身份认证技术
  • leetcode 面试题 02.02. 返回倒数第k个节点