簡體   English   中英

java.lang.NoSuchMethodError:javax.servlet.http.Cookie.setHttpOnly(Z)V

[英]java.lang.NoSuchMethodError: javax.servlet.http.Cookie.setHttpOnly(Z)V

我使用weblogic 10.3.6.0應用程序服務器來部署應用程序。 部署其中一個使用JDK8的應用程序之后。 在運行時我收到以下錯誤。

java.lang.NoSuchMethodError:javax.servlet.http.Cookie.setHttpOnly(Z)V

dependencies.gradle文件的內容如下

providedCompile'javax.servlet:javax.servlet-api:3.0.1'

這個錯誤背后的原因是什么?

自Servlet 3.0起, Cookie.setHttpOnly()可用。 您正在部署到僅提供Servlet 2.5的WebLogic 10。

請注意,您的項目是針對API依賴性而不是實際的運行時實現進行編譯的。 這是正確的項目設置,不要更改它。 但是,必須確保通過部署到正確的服務器,在運行時中提供了為編譯選擇的API。

正如其他人所說,你正在為你的weblogic版本編譯錯誤的servlet jar。 如果您想繼續使用weblogic 10,那么您應該更改為

providedCompile 'javax.servlet:javax.servlet-api:2.5'

一旦你這樣做,我猜你會得到Cookie.setHttpOnly()的編譯錯誤。

出於興趣,你為什么要使用weblogic? 有許多免費/開源servlet容器比weblogic好得多。 Weblogic不符合與其他servlet容器相同的標准。

暫無
暫無

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

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