我有一个STIGViewer-2.8.jar文件。这在 Microsoft Windows 7 或 10 中运行良好,但在 Centos-7.6 linux 中不起作用。在linux中做的时候java STIGViewer-2.8.jar
我得到
Error. Could not find or load main class StigViewer-2.8.jar
我已经jdk-8u191-linux-x64.rpm
安装了,这是带有 GUI 的 Centos 服务器,所以我在运行级别 5 中,有完整的图形,其他一切都在工作...... Libreoffice,freecad,unameit。我需要做一些技巧来让 jar 文件在 linux 中运行吗?或者它是java的东西并且jar文件只是Windows的问题?
激活 EPEL 存储库,使用软件 gui 我删除了所有OpenJava或OpenJDK的东西;使用良好的判断力对java进行了搜索并未经检查。诸如json-glib或python-javapackages或tzdata-java之类的东西我就不管了。
然后我做了一个
yum install jdk-8u191-linux-x64.rpm
来自oracle的。这在软件 gui 中显示为
jdk1.8-2000:1.8.0.201-fcs
没有Open措辞,并且没有安装所有OpenJava或OpenJDK的东西。之后它只能使用java -jar StigViewer.jar
如果我只做java StigViewer.jar我仍然会收到错误,如果我从 Windows 资源管理器中双击 .jar 文件,它会打开文件,就像它是一个容器一样。
安装centos 7.6时;我选择了带有 GUI 的服务器,我认为可以选择 java 的东西,但如果有的话我知道我没有选择,所以似乎 centos 在某种程度上自动安装了 openjava。
更新:
oracle jdk-8u201-linux-x64.rpm 导致
/usr/bin/java
链接/etc/alternatives/java
然后指向/usr/java/jdk1.8.0_201-amd64/jre/bin/java
正是这个 oracle java 只能与这个stigviewer.jar文件一起使用
java -jar stigviewer.jar
其他软件,如Octave和plplot依赖于OpenJDK Headless Runtime Environment 8,
java-1.8.0-openjdk-headless-1:1.8.0.201
这导致/usr/bin/java
仍然链接到该stigviewer.jar文件,/etc/alternatives/java
并且该链接无法使用。/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre/bin/java
所以我可以记得在
/usr/java/jdk1.8.0_201-amd64/jre/bin/java
需要时手动运行 Oracle。似乎一旦安装了 OpenJDK,oracle rpm 就不会覆盖链接。我想补充一点,Red Hat 已经为 RHEL 7 记录了这个问题:DISA STIG viewer does not run with OpenJDK。此链接需要 Red Hat 登录才能工作,因此我将在此处复制关键信息。
请注意,RHEL 7/CentOS 7 上的默认 Java 8 二进制文件来自该
java-1.8.0-openjdk
软件包。STIG Viewer 2.x 用户指南也在第1.1 节注释下提到了这一点: