2017-02-28 1 views
0

J'ai écrit un plugin ES dans Eclipse, et exécuter « maven installer » pour construire un package .zip.Comment exclure les pots de dépendances ES Meven, lorsque « maven installer » un plugin ES

Ensuite, allez à ES ' répertoire bin, installez ce plugin, rapport d'erreur comme:

ERROR: java.lang.IllegalStateException: jar hell! 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

Il se révéler l'ES Meven dépendances pots inclus dans ce plug-in package .zip, comme spatial4j-0.5.jar, comprimez-lzf-1.0 .2.jar, elasticsearch-2.3.4.jar, lucene-suggèrent-5.5.0.jar etc.

Ces pots entreront en collision les jars dépendants de l'ES dans le répertoire ES 'lib'. Comment puis-je exclure ces jar «Meven dépendances»? J'ai essayé de modifier pom.xml et 'src/main/assemblies/plugin.xml', mais j'ai échoué.

Répondre

0

Dans l'étiquette <dependency> de vos pots en collision, vous devez mettre le <scope> à fourni. De cette façon, ils ne seront pas inclus dans la version finale de la phase de package, mais ils seront inclus pour la compilation locale