Java.lang.IollegalStateException:jar地狱!弹性6.5.1



问题:

原因:java.lang.IllegalStateException:jar hell!class:org.lasticsearch.procol..xpack.migration.UpgradeActionRequired

我试图引用此链接:Elasticsearch JAR地狱错误

但问题仍然存在。

错误

C:Program Fileselasticsearch-6.5.1bin>elasticsearch.bat
[2018-11-29T17:10:36,343][WARN ][o.e.c.l.LogConfigurator  ] [MIT22] Some logging configurations have %marker but don't have %node_name. We will automatically add %node_name to the pattern to ease the migration for users who customize log4j2.properties but will stop this behavior in 7.0. You should manually replace `%node_name` with `[%node_name]%marker ` in these locations:
C:ProgramDataElasticElasticsearchconfiglog4j2.properties
[2018-11-29T17:10:36,962][INFO ][o.e.e.NodeEnvironment    ] [MIT22] using [1] data paths, mounts [[(C:)]], net usable_space [408.3gb], net total_space [487gb], types [NTFS]
[2018-11-29T17:10:36,963][INFO ][o.e.e.NodeEnvironment    ] [MIT22] heap size [1.9gb], compressed ordinary object pointers [true]
[2018-11-29T17:10:37,341][INFO ][o.e.n.Node               ] [MIT22] node name [MIT22], node ID [xaD9ya8JSTmublSPZEWeOQ]
[2018-11-29T17:10:37,342][INFO ][o.e.n.Node               ] [MIT22] version[6.5.1], pid[17904], build[default/zip/8c58350/2018-11-16T02:22:42.182257Z], OS[Windows 10/10.0/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_191/25.191-b12]
[2018-11-29T17:10:37,343][INFO ][o.e.n.Node               ] [MIT22] JVM arguments [-XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=C:UsersmohdAppDataLocalTempelasticsearch, -XX:+HeapDumpOnOutOfMemoryError, -Xmx2048m, -Xms2048m, -Delasticsearch, -Des.path.home=C:Program Fileselasticsearch-6.5.1, -Des.path.conf=C:ProgramDataElasticElasticsearchconfig, -Des.distribution.flavor=default, -Des.distribution.type=zip]
[2018-11-29T17:10:37,704][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [MIT22] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to load plugin x-pack-core due to jar hell
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.1.jar:6.5.1]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.1.jar:6.5.1]
Caused by: java.lang.IllegalStateException: failed to load plugin x-pack-core due to jar hell
at org.elasticsearch.plugins.PluginsService.checkBundleJarHell(PluginsService.java:517) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:462) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:156) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.node.Node.<init>(Node.java:338) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.node.Node.<init>(Node.java:265) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:212) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.1.jar:6.5.1]
... 6 more
Caused by: java.lang.IllegalStateException: jar hell!
class: org.elasticsearch.protocol.xpack.migration.UpgradeActionRequired
jar1: C:Program Fileselasticsearch-6.5.1modulesx-pack-corex-pack-core-6.5.1.jar
jar2: C:Program Fileselasticsearch-6.5.1libelasticsearch-rest-high-level-client-6.5.1.jar
at org.elasticsearch.bootstrap.JarHell.checkClass(JarHell.java:277) ~[elasticsearch-core-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:190) ~[elasticsearch-core-6.5.1.jar:6.5.1]
at org.elasticsearch.plugins.PluginsService.checkBundleJarHell(PluginsService.java:515) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:462) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:156) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.node.Node.<init>(Node.java:338) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.node.Node.<init>(Node.java:265) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:212) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.1.jar:6.5.1]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.1.jar:6.5.1]
... 6 more

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.5.1</version>
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client-sniffer</artifactId>
<version>6.5.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>parent-join-client</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>aggs-matrix-stats-client</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>rank-eval-client</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>lang-mustache-client</artifactId>
<version>6.5.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.11.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.10</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.8.2</version>
</dependency>
</dependencies>
<inceptionYear>2009</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<name>Elastic</name>
<url>http://www.elastic.co</url>
</developer>
</developers>
<name>rest-high-level</name>
<description>Elasticsearch subproject :client:rest-high-level</description>
<url>https://github.com/elastic/elasticsearch</url>
<scm>
<url>git@github.com:elastic/elasticsearch.git</url>
</scm>
</project>

我搜索了一下,发现这个错误是关于的

冲突jar文件

Ide:我的Eclipse

欢迎提出任何建议。

i已经解决了这个问题

罐子地狱是关于罐子冲突

步骤1

在src/test/java 中创建类

JarHell.java

package org.elasticsearch.bootstrap;
import java.net.URL;
import java.util.Set;
public class JarHell {
private JarHell() {}
public static void checkJarHell() throws Exception {}
public static void checkJarHell(URL urls[]) throws Exception {}
public static void checkVersionFormat(String targetVersion) {}
public static void checkJavaVersion(String resource, String targetVersion) {}
public static Set<URL> parseClassPath() {return ImmutableSet.of();}
}

Step2 ImmutableSet.java

package org.elasticsearch.bootstrap;
import java.net.URL; 
import java.util.Set;
public class ImmutableSet {
public static Set<URL> of() {
// TODO Auto-generated method stub
return null;
}
}

jar1:C:\Program Files\elasticsearch-6.5.1\modules\x-pack-core\x-pack-core-6.5.1.jar

jar2:C:\Program Files\elasticsearch-6.5.1\lib\elasticsearch-rest-high-level-client-6.5.1.jar

我已经从lib文件夹中删除了elasticsearch rest高级客户端jar文件。

为它解决了我的问题而欢呼。

感谢

最新更新