java - 将所有依赖项打包到 WEB-INF 中的 Jersey 1.19.4 应用程序在 Tomcat 8.5 上为 jersey-server 抛出 FileNotFoundException

标签 java maven tomcat jersey

我已将这些 Jersey 1.19 库打包到我的 WEB-INF 文件夹中:

  • jersey-client-1.19.4.jar
  • jersey-core-1.19.4.jar
  • jersey-json-1.19.4.jar
  • jersey-multipart-1.13.jar
  • jersey-server-1.19.4.jar
  • jersey-servlet-1.19.4.jar
  • jsr311-api-1.1.1.jar

并已通过打包 war 的解压验证了它们的存在,并将其部署在 tomcat 8.5 上,并且启动正常。

但是,当我在此服务器上运行流量时,我在 server.init() 上遇到异常:

com.sun.jersey.spi.service.ServiceConfigurationError:com.sun.jersey.spi.container.WebApplicationProvider::java.io.FileNotFoundException:JAR条目WEB-INF/lib/jersey-server-1.19 .4.jar

此外, 我有一个 Java 应用程序可以构建这些 Jersey 应用程序,并且已经运行了很多年。现在我也添加了对 Jersey 2 应用程序的支持,并将这些 war 文件与 tomcat 上所需的依赖项一起打包(tomcat 8.5 带有 jersey1 和 jersey2 wars),主应用程序的类路径中没有关于 jersey 的内容。

最佳答案

检查 Jersey 的 pom.xml 中是否存在所有依赖项。

使用这些依赖项更新项目的pom.xml:

<dependencies>
   <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-client</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-core</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-json</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-multipart</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-servlet</artifactId>
      <version>1.19.4</version>
   </dependency>
   <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
      <version>1.1.1</version>
   </dependency>
</dependencies>

添加这些依赖项后,在项目上执行mvn clean install/package以创建一个新的war,然后将其部署到tomcat上。

我认为问题将会得到解决。

关于java - 将所有依赖项打包到 WEB-INF 中的 Jersey 1.19.4 应用程序在 Tomcat 8.5 上为 jersey-server 抛出 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63032901/

相关文章:

java - 如何避免这个java servlet登录页面的安全问题

java - 我如何总结两个 map 中的值并使用 Guava 返回值

java - 我是 spring MVC 的新手。使用 Maven java 在 spring MVC 表单中获取 null 值作为输出。如何从文件中获取值到我的jsp

Angular 2 配置文件和 tomcat

java - 从其他用户获取图像

java - 如何验证 Wifi AP 或 Cell 是否有互联网?

java - 在对数函数中使用递归幂函数,无需 Math.functions

java - 如何生成具有 Maven 和第 3 方依赖项的 JAR

java - 有没有办法控制 cucumber 特征的顺序?

java - 为什么不能使用CentOS、plesk 9.2.1 和tomcat 5.5 安装solr 1.3.0?