近日在项目中集成Elasticsearch后,Jetty启动报错。

错误日志如下:

Suppressed:
|java.lang.RuntimeException: Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class from jar file:///data/program/capital/cloud/work/jetty-0.0.0.0-16201-capital-cloud.war-_capital-cloud-any-/webapp/WEB-INF/lib/log4j-api-2.11.1.jar
| at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:891)
| at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:837)
| at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
| at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:462)
| at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:673)
| at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:591)
| at java.lang.Thread.run(Thread.java:748)
|Caused by:
|java.lang.IllegalArgumentException
| at org.objectweb.asm.ClassReader.<init>(Unknown Source)
| at org.objectweb.asm.ClassReader.<init>(Unknown Source)
| at org.objectweb.asm.ClassReader.<init>(Unknown Source)
| at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:959)
| at org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:940)
| at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:887)
| at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:837)
| at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
| at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:462)
| at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:673)
| at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:591)
| at java.lang.Thread.run(Thread.java:748)
Caused by:
java.lang.RuntimeException: Error scanning entry META-INF/versions/9/module-info.class from jar file:///data/program/capital/cloud/work/jetty-0.0.0.0-16201-capital-cloud.war-_capital-cloud-any-/webapp/WEB-INF/lib/log4j-api-2.11.1.jar
at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:891)
at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:837)
at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:673)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:591)
at java.lang.Thread.run(Thread.java:748)
Caused by:
java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:959)
at org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:940)
at org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:887)
at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:837)
at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:673)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:591)
at java.lang.Thread.run(Thread.java:748)

于是翻江倒海的四处查解决方案,有的说把jar包里面的version删掉再重新打包更改版本号,试过不起作用。

后来又找历史发布公告,发现是jetty版本不兼容引起的,升级到jetty-9.4.8.v20171121即可完美解决问题。

查找的一些资源网站:

1. http://cache.baiducontent.com/c?m=9d78d513d99401ef05ad837e7c5786354508db3f69c0d0642888d508d8735b301831a5e830236013d3b36b6671f41508fdf04736604361ecc694c95dddca993f2ff97a74250b863041914afe911132c151ce07bcfa42bbefe732e2f08f86d90c478d135b75dab6cd184103cb1ced0970a5f5c811481b47fab96e38ba4e775ece7e1fab04beb773285cdcaa9c414ac92fd3651095ab28e46d49eb44f2081b5205e61f&p=882a970ac5904ead07f58c6611&newp=8c769a479d9718ff57ef82231653d8304a02c70e3ac3864e1290c408d23f061d4862e7b12525170ed0c37b6307a94c56e1f5327123454df6cc8a871d81edd97c76&user=baidu&fm=sc&query=Error+scanning+entry+META-INF/versions/9/org/apache/logging/log4j&qid=a4ae72860018d6f8&p1=2

2. https://blog.csdn.net/baidu_34036884/article/details/80151963

3. 关于jdk9的兼容问题:

https://github.com/eclipse/jetty.project/issues/1797

https://github.com/eclipse/jetty.project/pull/1801

4. 历史版本发布记录:

https://www.eclipse.org/lists/jetty-announce/2017/Nov/index.php

9.4.7针对jdk9开始兼容:https://www.eclipse.org/lists/jetty-announce/msg00111.html

9.4.8针对jdk9兼容优化:https://www.eclipse.org/lists/jetty-announce/msg00114.html

5. Jetty文档:

https://www.eclipse.org/jetty/documentation/9.3.27.v20190418/

6. Jetty历史服务下载地址

https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/

Jetty启动报Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class的更多相关文章

  1. spring mvc:Error scanning entry module-info.class from jar错误

    项目从jdk1.6升级到jdk1.8,启动的时候出现如下错误: java.lang.RuntimeException: Error scanning entry module-info.class f ...

  2. springboot 配置jpa启动报Error processing condition on org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration.pageableCustomizer

    springboot +gradle 配置jpa启动报Error processing condition on org.springframework.boot.autoconfigure.data ...

  3. 解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误

    解决软件启动报error while loading shared libraries: libgd.so.2: cannot open shared object错误 今天安装启动nginx的时候报 ...

  4. Jetty启动报错排查org.eclipse.jetty.util.MultiException: Multiple exceptions

    最近自己搭建了一个spring的项目,使用Maven做项目构建,使用JDK8,为了方便启动就使用jetty作为启动容器,但是却无意间步入了一个坑 [WARNING] Failed startup of ...

  5. Error:gradle-resources-test:thymeleaf-in-action.main: java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream

    目录 Error:gradle-resources-test:thymeleaf-in-action.main: java.lang.NoClassDefFoundError: org/apache/ ...

  6. 【JUnit 报错】java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message

    使用JUnit的时候,报错:java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message 原因是因为项目中导入的架包 ...

  7. Hadoop启动报Error: JAVA_HOME is not set and could not be found解决办法

    Hadoop安装完后,启动时报Error: JAVA_HOME is not set and could not be found. 解决办法: 修改/etc/hadoop/hadoop-env.sh ...

  8. Mysql 5.7源码编译启动 报error问题:The server quit without updating PID file (/data/data_mysql/mysql.pid).

    一般是报error问题就是我们的mysql没有权限,这里主要是指三点:一个是mysql的安装主目录要设为mysql用户和用户组.一个是logs目录设置为mysql用户以及用户组.还有一个是data目录 ...

  9. Tomcat启动报Error listenerStart错误 | "beans" 必须匹配 DOCTYPE 根 "null" | java.lang.reflect.MalformedParameterizedTypeException

    maven打包发布工程时,发布上去却报错FAIL - Deployed application at context path /ch but context failed to start 在服务器 ...

随机推荐

  1. centos7中python3.6报错ModuleNotFoundError: No module named '_ssl' 或者 Max retries exceeded with url: / (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",))

    如果在运行爬虫时报此错:requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max r ...

  2. viscode 使用 格式的配置

    viscode 现在也越来越适用于 python 开发使用的 IDEA ,慢慢不逊色于  pycharm .下面是关于使用的 格式[字体颜色,背景之类的配置] 1. 2. 如果是设置的 中文显示,在界 ...

  3. centos7.6离线安装mysql5.7(附下载链接)

    本来打算直接用原生yum源安装,但是跨国访问网络太慢,只好采用离线安装的方式,原理就是把所需的rpm下载下来再上传服务器安装. 1.rpm文件下载地址: 目录: http://repo.mysql.c ...

  4. 201271050130-滕江南-《面向对象程序设计(java)》第十四周学习总结

    201271050130-滕江南-<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnbl ...

  5. django中对数据库生成记录操作失败

    在终端执行以下语句时,会发现一点效果也没有,但是在manage.py中会成功: python3 manage.py makemigrations # 仅仅是在小本本上(migrations文件夹)记录 ...

  6. bootstrap多级下拉菜单

    只需为下拉菜单的任意 <li> 元素添加 .dropdown-submenu 的类,并在该 <li> 元素下添加 .dropdown-menu 类的列表,就可以为该菜单项添加一 ...

  7. Python学习笔记3 函数_20170614

    # 函数 定义 def my_abs(x) : if not isinstance(x, (int, float)) : raise TypeError('bad operand type') if ...

  8. oracle用户管理, 授权与回收权限

    一. 用户管理参数, 0.删除用户: drop user 用户名 [cascade] 当我们删除用户时, 如改用户已创建过数据对象, 那么删除用户时必须加cascade参数, 用来同步删除 改用户的所 ...

  9. 解决office365无法登录以及同步的问题

    解决office365无法登录以及同步的问题 You better need to test them one by one. You better need to test them one by ...

  10. redis之线程IO模型

    非阻塞 IO 当我们调用套接字的读写方法,默认它们是阻塞的,比如 read 方法要传递进去一个参数n,表示读取这么多字节后再返回,如果没有读够线程就会卡在那里,直到新的数据到来或者连接关闭了,read ...