elasticsearch,lombok,Java,elasticsearch,Lombok" /> elasticsearch,lombok,Java,elasticsearch,Lombok" />

Java Elasticsearch 6.3.0 jarhell模块-info.class

Java Elasticsearch 6.3.0 jarhell模块-info.class,java,elasticsearch,lombok,Java,elasticsearch,Lombok,嗨,我在我的项目中使用Spring Boot 2、Lombok和Elasticsearch 6.3.0,试图运行集成测试,但却遇到了臭名昭著的jar地狱!检查 Caused by: java.lang.IllegalStateException: jar hell! class: module-info jar1: home/tim/.m2/repository/org/projectlombok/lombok/1.16.22/lombok 1.16.22.jar jar2: /home/ti

嗨,我在我的项目中使用Spring Boot 2、Lombok和Elasticsearch 6.3.0,试图运行集成测试,但却遇到了臭名昭著的jar地狱!检查

Caused by: java.lang.IllegalStateException: jar hell!
class: module-info
jar1: home/tim/.m2/repository/org/projectlombok/lombok/1.16.22/lombok 
1.16.22.jar
jar2: /home/tim/.m2/repository/org/apache/logging/log4j/log4j-
api/2.10.0/log4j-api-2.10.0.jar
  at org.elasticsearch.bootstrap.JarHell.checkClass(JarHell.java:273)
  at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:190)
  at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:86)
  at org.elasticsearch.bootstrap.BootstrapForTesting.<clinit>(BootstrapForTesting.java:93)
原因:java.lang.IllegalStateException:jar地狱!
类别:模块信息
jar1:home/tim/.m2/repository/org/projectlombok/lombok/1.16.22/lombok
1.16.22.jar
jar2:/home/tim/.m2/repository/org/apache/logging/log4j/log4j-
api/2.10.0/log4j-api-2.10.0.jar
位于org.elasticsearch.bootstrap.JarHell.checkClass(JarHell.java:273)
位于org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:190)
位于org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:86)
在org.elasticsearch.bootstrap.BootstrapForTesting.(BootstrapForTesting.java:93)
module info.class
在lombok和log4j api(elasticsearch的过渡依赖)中都存在。我不能排除log4j api,因为Elasticsearch需要这个类,但我不想删除lombok,因为它帮助我避免编写样板Java代码


有什么线索可以解决这个问题吗

我建议使用在单独的进程中运行Elasticsearch。运行Elasticsearch的过程中不会包含项目的依赖项。Chin Huang,自5.0以来,嵌入式Elasticsearch已不再是一个东西。依赖关系问题应该来自具有Elasticsearch依赖关系的客户端@jtim你能发布你的依赖关系吗?高级REST客户端或传输客户端(甚至可能通过Spring数据)?我也遇到了JarHell问题。我将log4j api和log4j核心版本降级为2.7,JarHell已经消失(目前)@xeraa我正在使用elasticsearch rest高级客户端版本6.3.0。降级是一种可行的变通方法。我将在Elasticsearch问题跟踪器中创建一个记录单,因为我认为更多的人会遇到类似的问题。你能分享到该问题的链接吗?我也在讨论这个问题,并希望关注在修复它方面取得的任何进展。