簡體   English   中英

澤西島:如何在多個Web模塊之間共享ExceptionMapper?

[英]Jersey: How to share ExceptionMapper among several web modules?

當我的異常映射器類位於.war包中時,它可以完美地工作。 問題是我有幾個共享相同異常層次結構的.war程序包。 我正在考慮將我的異常映射器類放到實用程序jar中,並將它們放到應用程序服務器的“ / lib”文件夾中。 該實用程序jar已包含我的自定義異常的類。 事實證明,一旦將它們放置在.war包之外,Jersey就找不到我的異常映射器類。

有沒有一種方法可以啟用“ / lib”文件夾中的Jersey掃描提供程序?

順便說一句,我的應用程序服務器是“ JBoss AS 6.0”,我正在使用Jersey SpringServlet。 這是我的web.xml配置片段:

    <servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>
            com.sample.rest
        </param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/*</url-pattern>       
</servlet-mapping>

干杯!

您需要告訴jersey掃描web.xml中包含ExceptionHandler的軟件包。 只需用“;”將它們分開

它看起來應該像這樣:

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.company.app.rest;com.company.util.exception</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

暫無
暫無

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

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