簡體   English   中英

Jboss:RestEasy + spring調度程序servlet =未為servlet javax.ws.rs.core.Application指定servlet類

[英]Jboss: RestEasy + spring dispatcher servlet = no servlet class has been specified for servlet javax.ws.rs.core.Application

我有一個部署到Jboss eap 6.4的應用程序。 在web.xml中,我將javax.ws.rs.core.Application定義為servlet,並為所有以'api'( /api/* )開頭的URL注冊。

<servlet>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>javax.ws.rs.core.Application</servlet-name>
    <url-pattern>1</url-pattern>
</servlet-mapping>

前段時間,我添加了一個Spring DispatcherServlet作為第二個servlet,它注冊了所有以'admin'( /admin/* )開頭的URL。

  <servlet>
        <servlet-name>admin dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>...</init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>admin dispatcher</servlet-name>
        <url-pattern>/admin/*</url-pattern>
    </servlet-mapping>

你猜怎么了? 當我啟動一個應用程序時,出現了該主題的錯誤。

沒有為servlet javax.ws.rs.core.Application指定servlet類

通過調試RestEasy源,如果RestEasy發現在web.xml中spmewhere使用了“ org.springframework.web.servlet.DispatcherServlet”(硬編碼字符串),它似乎在Jboss / RestEasy集成中的某個深處,它只是停止自動配置,后來失敗了,因為配置錯誤。

有一個棘手的解決方法-僅擴展spring的調度程序servlet MyDispatcherServlet extends DispatcherServlet並在web.xml中而不是spring上使用它。 這是在欺騙硬編碼的字符串。

瞧-RestEasy和春季的煩惱者開始一起工作。

暫無
暫無

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

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