【问题标题】:How to exclude the ES Meven dependencies jars,when “maven install” an ES plugin如何排除 ES Meven 依赖 jars,当“maven 安装”一个 ES 插件时
【发布时间】:2017-02-28 06:07:28
【问题描述】:

我在eclipse中写了一个ES插件,然后执行“maven install”构建一个.zip包。

然后进入ES'bin'目录,安装这个插件,报错为:

错误:java.lang.IllegalStateException:jar 地狱! 类:com.spatial4j.core.context.jts.DatelineRule jar1:/opt/srv/elasticsearch-2.3.4/lib/spatial4j-0.5.jar jar2:/tmp/4666854054181704172/temp_name1369332854/spatial4j-0.5.jar

原来是这个插件.zip包中包含的ES Meven依赖jar,比如spatial4j-0.5.jar、compress-lzf-1.0.2.jar、elasticsearch-2.3.4.jar、lucene-suggest -5.5.0.jar 等

这些 jar 将与 ES 'lib' 目录中 ES 的依赖 jar 发生冲突。

如何排除这些“Meven 依赖项”jar?我试图修改 pom.xml 和 'src/main/assemblies/plugin.xml',但失败了。

【问题讨论】:

    标签: java maven elasticsearch plugins maven-dependency-plugin


    【解决方案1】:

    在碰撞罐子的<dependency> 标签中,您需要将<scope> 放入provided。这样它们就不会被包含在打包阶段的最终构建中,但它们将被包含在本地编译中

    【讨论】: