Tech: Maven 3 + IntelliJ + ElasticSearch 5.5.0 + Carrot2 3.15.1
I have a project with Carrot2 and ElasticSearch which rise some conflicts. Carrot2 uses Lucene 5.3.1 and ElasticSearch uses 6.3.1 version. I want to force carrot2 to use 6.3.1 Lucene version to fix it.
I have tried to add a property in my project's main pom file:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
<elasticsearch.version>5.4.2</elasticsearch.version>
<org.apache.lucene.version>6.5.1</org.apache.lucene.version>
</properties>
Unfortunately this way still rises an error caused by Lucene versions conflict. Finally, I found the solution for my local machine by changing internal value of carrot's dependency pom file:
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>5</version>
</parent>
<groupId>org.carrot2</groupId>
<artifactId>carrot2</artifactId>
<version>3.15.1</version>
<name>Carrot2</name>
(...)
<properties>
(...)
<org.apache.lucene.version>6.5.1</org.apache.lucene.version>
<org.simpleframework.version>2.7.1</org.simpleframework.version>
<org.carrot2.attributes>1.3.1</org.carrot2.attributes>
</properties>
It works fine but only on my local machine. Lucene version changed in carrot's pom file seems to not propagated and there is need to change this version on any instance of project manually. Is there any possibility to force the maven to use my project property value in external dependency?