簡體   English   中英

如何在僅安裝 Java 8 的情況下執行 Java 11 jar?

[英]How to execute a Java 11 jar with only Java 8 installed?

我正在嘗試在服務器上執行 jar ,如下所示: java -jar file.jar但我收到以下錯誤:

A JNI error has occurred, please check your installation and try again 
... 
Class has been compiled by a more recent version of the Java Environment (class file version 55.0), 
this version of the Java Runtime only recognizes class file versions up to 52.0.

我知道這似乎與我的 jar 文件使用 Java 11 的事實有關,而服務器僅安裝了 Java 8。 我無法安裝 Java 11,正如人們在其他處理此問題的帖子上所建議的那樣,因為我在我不是超級用戶的服務器上執行。 我還想避免使用 Java 8 重新編程我的整個項目。

有沒有辦法讓我執行我的 jar 文件?

如果您可以訪問file.jar的源代碼,您可以嘗試從中為 java 8 創建一個 jar。 如果失敗,則使用了一些較新的功能。 您可以通過代碼 go 手動降級。

另一種選擇是隨軟件一起提供 java 的本地安裝(無需超級用戶權限)。

正如所評論的,存在多種解決方案。 我發現最簡單的是以下兩種解決方案:

  • 請服務器的超級用戶安裝Java 11.
  • Download jdk-11.0.11_linux-x64_bin.tar.gz from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html , which can be copied onto the server with scp jdk-11.0.11_linux-x64_bin.tar.gz serverName:. Unpack with tar xvzf jdk-11.0.11_linux-x64_bin.tar.gz on the server and then execute your jar file with jdk-11.0.11_linux-x64_bin.bin.java -jar file.jar

我最終要求超級用戶安裝 Java 11,他們告訴我已經安裝在someFolder/java11/bin/java ,所以我最終使用someFolder/java11/bin/java -jar file.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM