有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jersey类路径扫描示例Jersey。配置。服务器供应商。类路径

谁能给我举个例子来使用“jersey.config.server.provider.classpath”吗。我想尝试查找位于java项目中的rest资源。此项目被添加到[Aren]的类路径中的动态web项目中。接下来是web.xml,我在其中使用此参数扫描rest资源的类路径:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>com.vogella.jersey.first</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>jersey.config.server.provider.packages</param-name>
      <param-value>rest.resources</param-value>
    </init-param>
     <init-param>
      <param-name>jersey.config.server.provider.classpath</param-name>
      <param-value>rpi.resources</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
  </servlet-mapping>
</web-app>

这有什么不对,因为我无法指出我的资源

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    据该组织称。玻璃鱼。运动衫服务器服务器属性。提供者\类路径文档,这是网站。xml您将需要的样式配置:

    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>rest.resources;rpi.resources</param-value>
    </init-param>
    

    当您在IDE中并且您的类加载器将动态项目编织在一起时,请仔细检查动态web项目是否使用您的资源和提供者引用了您的所有项目。 请参见工作:

    org.glassfish.jersey.server.ResourceConfig.scanClasses()
    
  2. # 2 楼答案

    web.xml中只有这个就足以在项目中定位ReST资源

    <servlet>
            <servlet-name>jersey-serlvet</servlet-name>
            <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
            <init-param>
                <param-name>jersey.config.server.provider.packages</param-name>
                <param-value>rest.resources</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
    </servlet>
    

    只要确保rest.resources是一个正确的包,其中包含所有资源文件