当前位置: 首页 > 知识库问答 >
问题:

由于缺少JerseyJaxrsConfig类,Jersey的安装Swagger失败

仇承志
2023-03-14

我想为Jersey REST API文档设置Swagger,所以我在GitHub上遵循了以下指南:https://github.com/wordnik/swagger-core/wiki/java-jaxrs-quickstart

<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jersey-jaxrs_2.10</artifactId>
<version>1.3.0</version>
</dependency>

保存此文件后,maven下载了以下似乎正确的JAR:

  • swaggag-jersey-jaxrs2.10-1.3.0.jar
  • swagger-jaxrs2.10-1.3.0.jar
  • swaggag-core2.10-1.3.0.jar

然后,我可以用@api、@apioperation等创建一些注释。但是配置还没有完成。

<servlet>
  <display-name>Rest Servlet</display-name>
  <servlet-name>RestServlet</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.myprojectapp.rest;com.wordnik.swagger.jersey.listing</param-value>
  </init-param>
  <init-param>
    <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
    <param- value>com.sun.jersey.api.container.filter.LoggingFilter;com.myprojectapp.authentication.SecurityFilter</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet>
  <servlet-name>JerseyJaxrsConfig</servlet-name>
  <servlet-class>com.wordnik.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
    <init-param>
      <param-name>api.version</param-name>
      <param-value>1.0.0</param-value>
    </init-param>
    <init-param>
      <param-name>swagger.api.basepath</param-name>
      <param-value>http://localhost:8002/MyProjectApp/api</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

我的环境如下所示-Eclipse with Maven-Jersey 1.81.1-Java EE7-Tomcat7-Swagger 1.3

我很感激你的帮助。

共有1个答案

卢英叡
2023-03-14

为什么在运行Tomcat时可以添加没有编译时错误但有运行时错误的注释,原因可能是JAR存在于项目类路径中,但在WebContent/WEB-INF/lib-目录中没有。

将JAR复制到该目录,它可能会工作。祝你好运!:)

 类似资料:
  • 每https://www.scala-sbt.org/release/docs/Scripts.html我正试图通过征兵安装sbt的替代入口点。我明白了 我能看到https://github.com/sbt/sbt,所以我很困惑...

  • 问题内容: 我正在使用Linux Ubuntu 18.04和python3。我正在尝试在maria- db和我的python脚本之间建立连接。因此,我必须安装mariadb软件包。 我已经安装了: 但是当我尝试: 我收到以下错误: 有谁能够帮我 ? 编辑: 现在,我已经可以连接到服务器,但不能使用te mariadb软件包。(https://linuxhint.com/connect_mariad

  • 我使用Windows 7虚拟机,我不能添加ctype。我的物理机器运行Ubuntu,互联网连接是无线热点。 错误发生: 无法获取URLhttps://pypi.org/simple/ctypes/:确认ssl证书时出现问题:HTTPSConnectionPool(host='pypi.org',port=443):url:/simple/ctypes超过了最大重试次数/(由SSLError(SSL

  • 我对Laravel的代客有一些问题,所以我试图卸载并重新安装。重新安装时,当我键入命令时,我得到了这个极其冗长的错误 到底是怎么回事,为什么我不能在全球范围内安装代客?我意识到这可能是某种依赖问题/冲突,但对我来说没有意义。

  • 当我清理/安装maven时,我会得到以下错误: 1)org.apache.maven:maven-archiver:jar:2.0.1 尝试从项目网站手动下载该文件。 然后,使用命令进行安装:mvn install:install-file-dgroupid=org.codehaus.plexus-dartifactid=plexus-utils-dversion=1.0.4-dpackaging

  • 我刚刚把我的Android Studio从1.5升级到2.2,现在当我运行我的应用程序时,我得到了一个错误: 由于APK未签名或签名错误,安装失败。如果这是一个基于Gradle的项目,那么确保在Gradle构建脚本中指定了签名配置。 编辑:即使我将构建变体切换回调试,卸载应用程序,再试一次,我也会得到同样的错误。