在 Tomcat 上部署应用程序会出现错误 SEVERE: Unable to process Jar entry for annotations

Posted

技术标签:

【中文标题】在 Tomcat 上部署应用程序会出现错误 SEVERE: Unable to process Jar entry for annotations【英文标题】:Deploying application on Tomcat gives an error SEVERE: Unable to process Jar entry for annotations 【发布时间】:2018-09-05 16:07:54 【问题描述】:

操作系统:CentOS 7 3.10.0-693.11.1.el7.x86_64

JVM:1.8.0_151-b12

Spring 框架版本:1.5.9.RELEASE

阿帕奇:2.4.6

Tomcat:7.0.76

设置: Apache 用作反向代理来为运行在 tomcat 上的 java 应用程序提供服务。 .war 文件是使用 maven 创建的,并通过 tomcat 中的管理器应用程序进行部署。 我之前在实际文件大小方面遇到了一些问题,因为它是 108MB,所以我不得不增加上传大小并且已经解决了,该应用程序在 STS IDE 中使用 tomcat 本地运行也没有问题。

问题描述:在tomcat中通过manager应用部署应用后,尝试访问应用“404”时出现错误。然后我转到日志文件并收到以下消息:

SEVERE: Unable to process Jar entry [com/amazonaws/services/redshift/waiters/ClusterDeleted$IsCreatingMatcher.class] from Jar [jar:file:/usr/share/tomcat/webapps/myApplication-0.0.1-SNAPSHOT/WEB-INF/lib/aws-java-sdk-redshift-1.11.106.jar!/] for annotations

应用程序确实在 AWS API 上进行中继,并且已在 pom.xml 文件中指定了依赖项

<dependency>
 <groupId>com.amazonaws</groupId>
 <artifactId>aws-java-sdk</artifactId>
 <version>1.11.106</version>
</dependency>

在旁注中,我看到其他人也遇到过类似的问题,或者我应该说具有不同依赖项的完全相同的问题。

链接1:How to solve : Unable to Process Jar entry

链接2:Deploy a war project on tomcat 7.0.56, get error " Unable to process Jar entry"

链接 3:Unable to process jar entry from Jar

链接 2 的帖子中没有回复,但链接 1 的帖子中有回复,我所看到的大多数解决方案都针对该依赖项,有人确实提到了 tomcat 的更新tomcat 8 为他们解决了这个问题。我想避免这种情况,因为我更喜欢使用 centos 存储库中可用的版本。除了建议的 tomcat 更新之外,也没有从第三个链接获得更多信息。有人说不应该使用 7.0.58 版本的 tomcat,但我又在使用更新的版本。

感谢大家的时间和精力。

【问题讨论】:

【参考方案1】:

好的,所以最后我设法找到了问题的根源并找到了原因,然后找到了解决方案。

我做的第一件事是转到 catalina 日志并检查它,结果发现有很多与 jar 文件有关的错误。然后我转到那些在 catalina 日志文件中引用的 jar 文件,并检查了与原始 jar 文件的哈希值不匹配的哈希值。这通常意味着一件事,要么您有不同的 jar 文件,要么 jar 文件已损坏。 所以问题的根本原因是jar文件损坏,问题与tomcat的版本和各自的库无关。

解决方案:

将当前的 .m2 文件夹重命名为 .m2-corrupt 或任何您想要的名称,您也可以将其删除,但更安全的是抱歉。

将目标文件夹中的 .war 文件临时移动到某处

执行 maven 更新

重新创建 .war 文件

尝试部署新的 .war 文件,看看效果如何,对我来说很顺利。

由于一切顺利,我删除了旧的 .m2 文件夹和旧的 .war 文件

注意:我希望这可以节省一些时间并帮助他们。

【讨论】:

以上是关于在 Tomcat 上部署应用程序会出现错误 SEVERE: Unable to process Jar entry for annotations的主要内容,如果未能解决你的问题,请参考以下文章

使用Tomcat在服务器上部署Java JSP项目(关于Tomcat出现The origin server did not find a current ,找不到JRE_HOME错误)

使用Tomcat在服务器上部署Java JSP项目(关于Tomcat出现The origin server did not find a current ,找不到JRE_HOME错误)

eclipse中启动tomcat出现错误: 找不到或无法加载主类 org.apache.tomcat.startup.Main

Tomcat 上的 Java servlet 出现 404 错误,但在 localhost 上运行良好

Tomcat 部署两个工程时,另一个访问出现404

Windows下war包部署到Linux下Tomcat出现的问题