当“maven install”一个ES插件时,如何排除ES Meven依赖项jar

时间:2017-02-28 06:07:28

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

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

然后转到ES'bin'目录,安装此插件,报告错误为:

  

错误:java.lang.IllegalStateException:jar地狱!   class: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等。

这些罐子会与ES'lib'目录中ES的相关罐子发生冲突。

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

1 个答案:

答案 0 :(得分:0)

在碰撞罐的<dependency>标签中,您需要将<scope>置于提供。这样它们就不会被包含在包阶段的最终构建中,但是它们将被包含在本地编译中