java JAR 파일은 Windows에서는 작동하지만 Linux에서는 작동하지 않습니다(centos-7.6).

java JAR 파일은 Windows에서는 작동하지만 Linux에서는 작동하지 않습니다(centos-7.6).

나는STIGViewer-2.8.jar문서. 이는 Microsoft Windows 7 또는 10에서는 제대로 작동하지만 Centos-7.6 Linux에서는 작동하지 않습니다. 리눅스에서는 java STIGViewer-2.8.jar내가 할 때

Error.  Could not find or load main class StigViewer-2.8.jar

설치 했는데 jdk-8u191-linux-x64.rpm센토스 입니다그래픽 사용자 인터페이스를 갖춘 서버그래서 저는 전체 그래픽이 있는 런레벨 5에 있고 다른 모든 것은 괜찮습니다... Libreoffice, freecad, unameit. Linux에서 jar 파일을 실행하려면 어떤 트릭을 수행해야 합니까? 아니면 java 문제인가요, jar 파일 문제인가요?Windows 전용?

답변1

소프트웨어 GUI를 사용하여 EPEL 저장소 활성화 I삭제됨모든 것오픈자바또는오픈JDK뭔가를 검색했습니다.자바올바른 판단을 통해 통제되지 않은 상태를 유지하십시오. 어떤 것들은 마치json-glib또는파이썬-자바 패키지또는tzdata-java나는 혼자 떠났다.

그런 다음 Oracle에서 하나를 만들었습니다 yum install jdk-8u191-linux-x64.rpm.

이는 소프트웨어 GUI에 jdk1.8-2000:1.8.0.201-fcsno 로 표시됩니다.열려 있는문구, 그리고 전부오픈자바또는오픈JDK것들이 설치되지 않았습니다.

그 후에일하다만 사용자바 -jar StigViewer.jar

만약 내가한다면자바 StigViewer.jar여전히 오류 메시지가 표시되며 Windows 탐색기에서 .jar 파일을 두 번 클릭하면 컨테이너처럼 파일이 열립니다.

Centos 7.6을 설치할 때 선택했습니다.그래픽 사용자 인터페이스를 갖춘 서버Java에 대한 옵션이 있다고 생각했지만 옵션이 없었다는 것을 알고 있으므로 centos가 어떻게든 openjava를 자동으로 설치한 것처럼 보입니다.

고쳐 쓰다:

신탁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

다음과 같은 기타 소프트웨어옥타브그리고그림의지하다OpenJDK 헤드리스 런타임 환경 8java-1.8.0-openjdk-headless-1:1.8.0.201그 결과는 여전히 연결되어 있고 /usr/bin/java연결 /etc/alternatives/java/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre/bin/java작동하지 않았습니다.stigviewer.jar문서.

/usr/java/jdk1.8.0_201-amd64/jre/bin/java그래서 필요할 때 Oracle을 수동으로 실행하는 것을 기억할 수 있습니다. OpenJDK가 설치되면 oracle rpm이 링크를 덮어쓰지 않는 것 같습니다.

답변2

Red Hat이 RHEL 7에서 이 문제를 문서화했다는 점을 덧붙이고 싶습니다.DISA STIG 뷰어가 OpenJDK에서 실행되지 않습니다.. 이 링크가 작동하려면 Red Hat 로그인이 필요하므로 여기서 주요 정보를 다시 설명하겠습니다.

환경: Red Hat Enterprise Linux 7(RHEL7), OpenJDK 1.8

문제: DISA STIGViewer가 OpenJDK와 함께 실행되지 않습니다.

$ java -jar ./STIGViewer-2.7.1.jar
Error: Could not find or load main class stigviewer.STIGViewer

해결 방법: 이 애플리케이션에는 OpenJDK 대신 Oracle의 JRE를 사용하십시오. Oracle의 JRE 또는 JDK는 Oracle 웹 사이트에서 다운로드해야 합니다.

근본 원인: DISA STIGViewer 애플리케이션이 내부적으로 OpenJDK에서 제공되지 않는 JavaFX를 사용하기 때문에 OpenJDK를 사용할 수 없습니다.

RHEL 7/CentOS 7의 기본 Java 8 바이너리는 이 java-1.8.0-openjdk패키지에서 제공됩니다.

이것STIG 뷰어 2.x 사용자 가이드이는 섹션 1.1 주석에서도 언급됩니다.

이 도구는 Java로 구축되었으며 단일 JAR 파일로 제공됩니다. 이 프로그램을 실행하려면 사용자 컴퓨터에 JRE(Java Runtime Environment)가 설치되어 있어야 합니다.즉, STIG Viewer 도구를 실행하려면 Oracle Java가 필요합니다.). 이를 통해 JRE가 생성된 모든 운영 체제에서 프로그램을 실행할 수 있습니다. 이는 또한 현재 로그인된 사용자의 권한 수준에서 프로그램이 실행되는 것을 제한합니다.

관련 정보