iT邦幫忙

0

使用google VM和TOMCAT架設網站

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20231008/20163886a4zlybUSoU.png
輸入網址後呈現錯誤
java.lang.UnsupportedClassVersionError: hitstd/group/tool/database/DBConfig has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (unable to load class [hitstd.group.tool.database.DBConfig])
問了CHATGPT但是看不太懂
之後嘗試在SSH輸入指令javac -source 8 -target 8 -proc:only /path/to/your/source/file/DBConfig.java
得到下列結果
warning: [options] bootstrap class path not set in conjunction with -source 8
error: Class names, 'hitstd.group.tool.database.DBConfig', are only accepted if annotation processing is explicitly requested
1 error
1 warning
因為實在是不知道要改什麼跟下指令要去哪裡....
JAVA環境設置也改過了

想問問要怎麼樣才能順利解決錯誤,CHATGPT跟BARD對boostrap都沒什麼特別的反應
(上傳的是WAR檔案跑JSP)\

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
Ray
iT邦大神 1 級 ‧ 2023-10-08 21:43:59

你的 Java 程式被編譯成 Java JDK 17 版 (Class file version 61),
但你在 VM 內安裝的 JDK 只看得懂 11 版 (class file versions up to 55.0):

has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (unable to load class [hitstd.group.tool.database.DBConfig])

https://javaalmanac.io/bytecode/versions/

所以, 你 VM 裡面的 JDK 是哪來的? 她的版本太舊了, 看不懂你程式的 Class file...

ccc777 iT邦新手 5 級 ‧ 2023-10-09 00:04:14 檢舉

感謝您的回答!

我現在重新安裝OPENJDK版本17後跑出的網頁出現了下列問題
org.apache.jasper.JasperException:java.lang.ClassNotFoundException:org.apache.jsp.index_jsp
https://ithelp.ithome.com.tw/upload/images/20231009/20163886sRseXs9YrS.png

詢問BARD跟CHATGPT後得到下列回答

這個錯誤訊息org.apache.jasper.JasperException:java.lang.ClassNotFoundException:org.apache.jsp.index_jsp意味著負責將 JSP 頁面編譯為 Java servlet 的 Jasper 編譯器找不到該 JSP 頁面的類別檔案index.jsp。

發生這種情況有以下幾個原因:

JSP 頁面已被刪除或移動,但類別檔案尚未更新。
類別文件意外刪除。
類別文件已損壞。
JSP 頁面是使用與伺服器上執行的版本不同的 Jasper 編譯器版本進行編譯的。
類別文件不在正確的位置。
要解決此錯誤,您可以嘗試以下操作:

1.檢查以確保 JSP 頁面存在並且位於正確的位置。
2. 重新編譯 JSP 頁面。
3.確保伺服器上的 Jasper 編譯器版本與用於編譯 JSP 頁面的版本相同。
4.確保類別檔案位於正確的位置。類別檔案應該位於/WEB-INF/classes/您的 Web 應用程式的目錄中。
如果仍有問題,請嘗試重新啟動伺服器。
如果您仍然無法解決該錯誤,您可以在 Stack Overflow 或其他 Java 論壇上發布問題。請確保包含盡可能多的有關您的環境和相關 JSP 頁面的資訊。

排除 Jasper 編譯錯誤的其他提示:

確保 JSP 頁面已正確編譯。您可以透過檢查伺服器日誌中是否有任何錯誤來檢查這一點。
確保伺服器可以存取該類別文件。如果類別檔案位於 JAR 檔案中,請確保 JAR 檔案位於伺服器的類別路徑中。
確保 JSP 頁面正確對應到 Web 應用程式web.xml檔案中的 servlet。
如果仍有問題,您可以聯絡伺服器管理員尋求協助。

現在正在嘗試從標示為粗體的條件解決

我要發表回答

立即登入回答