Jakarta EE 9 一般資訊和 潛在問題

此規則包含移轉至 Jakarta EE 9 的一般資訊, 以及 WebSphere Migration Toolkit for Application Binaries(二進位掃描器)偵測不到的問題相關資訊。

Jakarta:套件名稱空間已變更

由於 Jakarta EE 9 中的套件名稱空間變更,請確定 應用程式使用的所有相依關係和程式庫都 已更新至支援 Jakarta EE 9 的版本。

Liberty 特性:特性名稱已變更

在 Liberty 中,一些特性已在 Jakarta EE 8 和 Jakarta EE 9 之間重新命名。 例如, jaxrs 特性現在 是 restfulws 。 如需已重新命名特性的完整清單,請參閱 Jakarta EE 9.1 特性更新。 二進位掃描器所產生的 特性清單將包含已更新的特性名稱。

Liberty 特性:平台特性不再啟用技術

jakartaee-9.1 平台特性不會啟用一些 先前由平台特性所啟用的技術,例如 jakartaee-8.0javaee-7.0jaxws ,現在是 xmlwsjaxb ,現在是 xmlbinding ,平台特性不再啟用這些特性。 如果您使用 平台特性,且您的應用程式使用這些技術, 請將特性新增至 server.xml。 或者,您可以使用 二進位掃描器所產生的特性清單。

Servlet:enablePostOnlyJSecurity 檢查內容預設值已變更

com.ibm.ws.webcontainer.enablePostOnlyJSecurityCheck Servlet 內容的預設行為已在 Jakarta EE 9 中從 false 變更為 true 。 如果您的應用程式在 html 或 jsp 檔案中使用 j_security_check 測試此變更是否會影響您的應用程式。

Servlet:回應輸出串流現在已自動關閉

當應用程式包裝回應物件並在分派轉遞中 使用它時,在 Jakarta EE 9 之前, 結束轉遞之前未關閉回應的輸出串流。 Servlet 規格 需要這項關閉。 當應用程式在轉遞之後繼續寫入時, 會將其他資料寫入回應中。 在 Jakarta EE 9 中,此行為已變更, 因此輸出串流現在已關閉。 webcontainer 內容 closeWrappedResponseOutputAfterForward 已新增來切換此行為。 如果您的應用程式需要先前的行為,請將內容設為 false

Enterprise Bean:已從規格中移除分散式交互作業能力

在 Jakarta EE 9 中,分散式交互作業能力已從 Enterprise Bean 規格中移除。 Liberty 繼續支援 RMI over IIOP,但請注意, 由於套件重新命名,遠端伺服器也必須使用 Jakarta EE 9。 雖然 Liberty 繼續支援 Jakarta EE 9 中的 分散式交互作業能力,但 其他伺服器提供者可能會移除支援。