Liferay and Jersey Экземпляр ResourceConfig не содержит корневых классов ресурсов. - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь добавить остальные API в мое приложение, поэтому я добавил два сервлета, один для обработки запроса JSF, другой для запроса API отдыха.

web.xml

<?xml version="1.0"?>
<web-app
    version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>
<context-param>
        <param-name>com.sun.faces.expressionFactory</param-name>
        <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Production</param-value>
    </context-param>
 <context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>-1</param-value>
</context-param> 
    <context-param>
       <param-name>primefaces.THEME</param-name>
       <param-value>redmond</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>

  <servlet>
        <servlet-name>jersey-serlvet</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.infinite.npsc.webapi</param-value>
        </init-param>
        <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
            <param-value>com.infinite.npsc.webapi.CorsFilter</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/api/*</url-pattern>
    </servlet-mapping>

</web-app>

так, например, я хочу вызвать api как

http://localhost:5081/ApplicationFormFillingProcess-portlet/api/savePayment/2075-531345

, но теперь я получаю ошибку com.sun.jersey.api.container.ContainerException: экземпляр ResourceConfig не содержит никакого корневого ресурсаклассы.

если я изменил отображение URL сервлета джерси с

<url-pattern>/api/*</url-pattern>

на

<url-pattern>/*</url-pattern> 

, я могу вызвать API.но мои изображения и другое статическое содержимое не загружаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...